看星星的派大星
这个作者很懒,什么都没留下…
展开
-
rk3588s 定制版 tc358775 调试 lvds 屏幕 (第一部分)
1 我看设备树中,对于其他屏幕比如mipi 屏幕,都是 注释掉了,DSI rate, 然后直接,再 timing 里,加上一个 像素时钟就可以了,我这样即设置 DSI, 又设置 timing 中的 clock-frequency ,可以吗?硬件: 3588s 没有 lvds 接口 , 所以使用的 东芝的 tc358774 (mipi ---> lvds芯片), 这个芯片是参考 3399 的 官方设计得来的,3399 的官方demo 板上应该是 使用到了 这颗芯片。只是由轻微的 闪屏,应该是 时钟的问题。原创 2024-07-10 13:41:07 · 41 阅读 · 0 评论 -
4418 android4.4 + 6818 android5.1 移植gps
apk 是开源的 应用, GPS_test.apk , 我这里想的是 直接使用 3399 的apk , 我在kernel 上使能了 GPS 所使用的 uart 之后,在/dev/ 目录下,cp 一个 ttyS4 供上层应用使用。3 还有就是我这样的,在方案商的SDK上移植,其实已经移植好了,我这边需要做的已经很少了,由于资源有限,我的改动已经设计不到 GPS 移植的整体结构。我这边 测试的结果是 ,使用 网盘上的之前的 镜像也是可以 使用GPS的,也就是说只要在硬件上换一个 另一种类型的GPS就可以了。原创 2024-06-18 18:13:08 · 117 阅读 · 0 评论 -
rtl8723du android5.1 6818 (蓝牙 部分)(第四部分)
系统使用的是,android5.1 , 蓝牙驱动就要使用 V5.6,而不是V5.2 了。由于 在原来的SDK中 蓝牙使用的是 mt6620 uart 接口。wifi + 蓝牙 同时使用也是可以的,但是依然是不稳定。2 有时 wifi 连接的时候,接收图片接收不到。可以先 不去合入patch, 因为,已经够用了。所以在移植的过程中,顺带把之前的驱动去掉。对于 menuconfig 的修改。2 hardwire 的修改。1 关于kernel 的修改。经过测试, 是蓝牙是可以的。3 build 的修改。原创 2024-06-13 14:31:50 · 31 阅读 · 0 评论 -
rtl8723du android5.1 6818 (wifi 部分)(第三部分)
之前板卡依然是使用的 mt6620 ,所以在移植的过程中,需要把之前的 wifi 的驱动一点一点的去掉。问题:目前我只是调试的wifi ,界面上会有蓝牙的选框 不断弹出来。3 device.mk + Boardconfig.mk+ init.rc 的修改。具体的详细框架 在 android4.4 部分写的差不多的。6 拷贝wpa_supplicant_8_L_5.x_rtw。对于Boardconfig.mk 的修改。2 驱动的Makefile 的修改。对于device.mk 的修改。开始编译+烧写测试。原创 2024-06-12 18:54:16 · 52 阅读 · 0 评论 -
rtl8723DU移植 android4.4 4418 (第一部分wifi 部分)
当然,这里是需要移植 wpa_supplicant ,作为wifi 工具的,这里就不介绍了,参考正点原子的imx6ull 的手册。于是 insmod 8723du.ko,只有这些打印信息,与内置的打印信息是一样的。将驱动拷贝到 driver/net/wireless 目录下。然后需要,将eth0 关闭掉,否则会出现ping 卡死。对比 没有移植 8723du 的设备树。去改写 8723 的makefile。我准备换一个驱动 , 重新编译。一、 linux 的移植。将这个去掉,继续测试。原创 2024-05-30 13:53:29 · 545 阅读 · 0 评论 -
rtl8723DU移植 android4.4 4418 (第二部分蓝牙部分)
移植驱动 kernel/drivers/bluetooth/rtk_usb.* 到 kernel/driver/bluetooth 目录下。将 驱动中的 hardware/realtek/bt 的部分整体拷贝到 源码 的,hardware/realtek/bt 下。将驱动中的 /hardware/realtek/bt 整个拷贝到 /hardware/realtek/ 目录下。这里先不进行不定的移植,我使用的 HMI (8723bu)的源码,这里我对比了一下,是已经移植好不定的。原创 2024-06-07 18:58:42 · 924 阅读 · 0 评论 -
android4 imx6q rtl8723du wifi+蓝牙 移植
说明: 官方关于wifi 的移植的文档只有 android 的,没有linux 的。但是linux 的wifi 的移植,可以参考正点原子的手册进行移植。当然,这里是需要移植 wpa_supplicant ,作为wifi 工具的,这里就不介绍了,参考正点原子的imx6ull 的手册。关于wifi 的移植,分为 linxu+busybox 系统中wifi 的移植,以及 android4 的WiFi的移植。关于蓝牙的移植,分为linxu+busybox 系统的蓝牙的移植,以及android4 的蓝牙的移植。原创 2024-04-25 18:54:46 · 45 阅读 · 2 评论 -
20.打开分页机制
那么高10位 作为页目录表索引, 中间10位 作为页表 索引, 最后12位 作为 物理地址的偏移。10 0000 0000 ----> 查找页目录表的 第512 项。0000 0000 0000 -----> 查找物理地址的0号偏移。00 0000 0000 -------> 查找页表的 第0项。比如 cpu 发送了一个线性地址 0x8000 0000。原创 2024-04-01 07:30:45 · 26 阅读 · 0 评论 -
19.进入保护模式(3)
这种错误一般是 gdt表没有设置好。2 加载 GDTR寄存器。4 设置选择子,段内偏移。3 设置CR0 寄存器。7 设置GTD表首地址。6 重新设置数据段。原创 2024-04-01 07:25:36 · 21 阅读 · 0 评论 -
18.进入保护模式(2)
主要是对这章表的讲解。原创 2024-04-01 07:25:06 · 27 阅读 · 0 评论 -
17.进入保护模式(1)
在GDT表中 , 有内核代码段+内核数据段, 应用代码段+应用数据段, 还有 task0 LDT + task0 TSS , 难道说 内核+应用+任务,都算一个具体的程序吗?原创 2024-04-01 07:24:43 · 16 阅读 · 0 评论 -
16.加载自己的剩余部分(2)
5 目前这里的代码会加载到 磁盘的第一个扇区。目前磁盘的第二个扇区还没有内容。1 设置 bx , 读到内存的位置。2 cx , 读取磁盘开始的扇区。3 ax , 读取的扇区数。4 dx, 读取第几块磁盘。原创 2024-04-01 07:24:16 · 18 阅读 · 0 评论 -
15.加载自己的剩余部分(1)
2 13号中断,使用的是寄存器来传递参数,报错读取磁盘的扇区数+读取的长度+读到内存的哪里。1 使用 bios 的 13号中断,将剩余的部分加载到内存中。原创 2024-04-01 07:23:46 · 10 阅读 · 0 评论 -
14. x86编程模型(2)
3 jmp $0, offset, 这种模式就相当于 jmp cs:ip 方式。1 设置 cs ,es, ss ,ds 寄存器初始化为0,因为采用的是平坦模型。发现: 在.c文件中可以 打断点,但是在 .S 文件中无法打断点。2 cs 寄存器, 无法直接 mov 的方式设置为0。但是按 F11 却可以继续执行下去。4 设置栈空间,esp 到栈顶。原创 2024-04-01 07:23:16 · 13 阅读 · 0 评论 -
13. x86编程模型(1)
2 采用的是平坦模型,将 CS:代码段寄存器, DS: 数据段寄存器, SS:堆栈段寄存器。全部设置为0 , 所以 CS:ip , 在进行设置的时候,直接设置 ip就可以了。3 将MBR 放在7c00 地址处,约 512B, 剩余的部分放在 7E00 之后的部分, 大约608KB。疑问: IP 也是一个寄存器吗?1 在实模式下 是16位, 有1M内存,疑问:这1M内存在哪呢?原创 2024-04-01 07:22:28 · 22 阅读 · 0 评论 -
0.从零实现操作系统的 ubuntu 环境的搭建。
可以看到源码里,已经有了 image 镜像,所以,不用再拷贝 image 到虚拟机了。看看我的虚拟机中有么有。接下来 安装 vscode 并且能够输入中文,这也是我重新安装虚拟机的原因。装好之后,什么都不用设置,就可以 用mabaxterm 登录了。要想将 PC的内容,拷贝到虚拟机中还需要进行一系列的安装。目前位置, vscode 的中文输入问题就解决了。环境已经配置好了,接下来 下载源码到虚拟机。安装 vscode ,我已经安装过了。到官方的网站下载ubuntu的镜像。但是我重新启动了一下,发现可以了。原创 2024-04-01 07:20:47 · 24 阅读 · 0 评论 -
4418 TF 烧写自动启动。
逻辑, 其实我只要在 uboot 中设置好,bootcmd 就好了,就是在 bootcmd 的原有命令上 加上 sdfuse flashall 就行了,后面的命令会自动加载 emmc 中的镜像,由于已经在 emmc 中烧写好了镜像,所以是可以这么写的。总体上我觉得, bootcmd 这个环境变量应该是从 4412 的uboot 源码中抄过来的,启动内核的时候,应该不是走的 bootcmd 这个命令。发现没有成功,我在源码里面的改动,都没有实现,系统启动之后,bootcmd没有变。原创 2024-03-28 15:03:25 · 198 阅读 · 1 评论 -
4412 改变 8767电源芯片的输出电压
接下里,烧写 网盘上的,镜像,测试一下, VDD_ARM VDD_INT VDD_MIF 电压分别是多少。在源码中有关于这些电压的设置,好像只是改一个参数就可以了。问题: 主要是想 改变 8767 输出的电压。接下来,我在 kernel 源码中进行更改。我还是先来看一下 8767 的数据手册。在cpu的数据手册中有关于这些的介绍。证明实际上这么改 是有效果的。原创 2024-03-27 18:18:31 · 20 阅读 · 0 评论 -
rk3568 ubuntu 屏幕旋转, gt9xx 触摸旋转
然后 cp .config arch/arm64/configs/rockchip_linux_defconfig 覆盖掉默认的 defconfig 文件, 在瑞芯微写的编译脚本里。就是,我先将 触摸编译成 ko 驱动 模块,然后,ubutnu 启动之后,先旋转屏幕,然后 insmode 驱动。1 关于linux 的触摸问题,直接参考 正点原子的视频,触摸是可以从0写出来的。再设备树中,有关于 val 的定义,可以通过 911 这个字符,来匹配坐标的翻转。2 真正工作中,对于驱动,就是改。原创 2023-12-12 14:12:14 · 640 阅读 · 1 评论 -
imx6q andorid4.4 触摸唤醒的 第二篇文章
2 如果 系统进入深度休眠之后,别的电源都会关,但是 中断会保留,而如果我不把触摸芯片的电源关掉,那么,一旦手指 触摸屏幕,触摸芯片就会上报一个中断,这个时候,系统接收到中断之后,就会唤醒,相当于android 的按键唤醒。问题: 发现,其实进入的不是休眠, 只有在 连接着ADB的时候才会出现 触摸唤醒的情况,这其实并不是真正的休眠。板子并没有接 adb 线 ,可以看到,休眠电流为 120ma , 这应该是休眠了。1 连接adb的时候,不会进入 深度休眠的模式,但是也会进行息屏的操作,估计是一种浅睡眠。原创 2023-10-22 20:16:12 · 53 阅读 · 1 评论 -
imx6q android4.4 的触摸唤醒功能
发现, 系统启动之后,过一会儿 会进入息屏状态,(此时我的adb 是连接的), 然后 动一下鼠标的话,屏幕会自动点亮,但是触碰屏幕的话,屏幕没有反应。总体的含义就是 , 在 触摸 进入 suspend 的时候,注册了一个中断,这个中断,可以在休眠的时候也会唤醒。需求: 需要在android4.4 的基础上实现 ,通过,点击屏幕实现 唤醒的功能。此时 ,屏幕的触摸也不能唤醒了,这说明进入了 休眠的状态了。将镜像 烧写进开发板之后可以,发现, 屏幕是可以唤醒的。也就是说 之前的触摸唤醒的功能还是需要更改的。原创 2023-09-28 17:43:59 · 94 阅读 · 0 评论 -
rk3568 SDK buildroot 文件系统中 添加一些自己的文件。
现在有一个需求就是, 想要在 SDK 中编译完 镜像之后,就会添加 自己的一些定制的文件,比如说,在/etc/resolv.conf 的文件中添加一些 DNS, 后者,拷贝一些 自己的应用程序到文件系统。那么也就是说 ,如果我想 在文件系统中,添加 一些 自己的文件的话, 那么直接 把程序 拷贝到 这个目录下,然后 编译一遍 系统,生成的 update.img 应该就是 包含了自己的程序的文件系统。这个 宏定义定义的 目录下的内容,应该是全部都会放到 buildroot 的文件系统中,原创 2023-09-28 15:47:25 · 196 阅读 · 0 评论 -
第二篇,给 rk3568 没有界面的 ubuntu base 移植一个界面
一 、 首先 在板子上已经有一个,Ubuntu base 文件系统了,接下来 开始移植一个 桌面。接下来修改 这个文件,这样就可以 root 免密登录。可以看到上网是可以的,界面也是可以了。三 、 接下来开始安装界面。二、 首先测试一下网络。Reboot 一下。接下来修改这个文件。在重新设置一下网络。原创 2023-09-25 21:37:13 · 188 阅读 · 1 评论 -
3568 移植Ubuntu base 不带界面的文件系统
在瑞芯微的镜像的基础之上,自己移植一个 Ubuntu base原创 2023-09-24 19:58:48 · 154 阅读 · 1 评论 -
这个专栏的计划
1、 完成 linux LFS , linux from scrach , 人话就是 从零搭建一个 linux内核基础上的文件系统。2、 完成在3568 的基础上的 qt + buildroot 的对地板各个功能的测试。时间: 2023-11-01 到 2024-02-01。3、 其中穿插一些,这段时间的 杂七杂八的笔记。原创 2023-09-17 16:13:43 · 29 阅读 · 0 评论