自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 收藏
  • 关注

原创 HMI 7寸 带壳 linux 系统的移植

将canconfig,candump,canecho,cansend,cansequence,全部拷贝到 /bin/ 目录下,注意修改这几个命令的权限。1 我扩展了 system.img 之后,设置了, fastboot 的环境变量,但是烧写的还是 200M的之前的system.img。此时,触摸点 正常了,但是还有一个问题,就是, 手指按下的时候,鼠标箭头 会飞出去,手指抬起来的收,鼠标箭头才会回来。然后将,应用的源码以及编译的二进制 文件,直接cp 到 文件系统+ qt5.7 的文件系统。

2024-07-16 21:01:16 822

原创 cp 软连接 硬链接 默认参数

对于软链接 有 -L :复制指向的文件, -D:只复制链接。-P : 不是 链接的行为,是属性的行为。然后是 cp 对于 软连接+ 硬链接的默认行为。然后是 对于软连接+硬链接的 参数的解释。关于硬链接 我没有找到 好的资料。然后是正点原子的手册。首先是 cp 的手册。

2024-07-16 10:23:53 131

原创 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 58

原创 关于 lvds 屏幕的一些知识

但是又的数据手册,就不会指明,协议,需要自己去问题屏厂。这个手册 ,就指明了, 数据的协议+ lane数。芯片的数据手册的看法。

2024-07-04 21:37:17 131

原创 4418 HMI 更换logo 图片

HMI 的 kernel 没有提供源码,只是提供了镜像,如果客户需要更换自己的logo 的话, 可以使用提供的工具,将内核+logo 打包起来。我觉得这里的打包的过程应该是参考了, 4418 build_android.sh 脚本中, 打包 boot.img 的过程。情况: 1 客户发来 boot.img .2 我需要更换客户的 logo 图片。打包命令 ./build_boot.sh ,这是打包的工具包里提供的脚本。使用 ./build_boot.sh 进行 打包,生成 boot.img。

2024-06-25 11:08:09 179

原创 rk3588 cpu npu gpu 定频 变频

网上的资料cpu:npu:GPU:

2024-06-21 14:24:58 200

原创 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 119

原创 龙芯的 新世界 与 旧世界

但是基本可以 确定 旧世界应该是 有 mips 的代码的。新世界 应该是 loongarch .这是 龙芯派 2k300 的连接。

2024-06-18 11:23:59 203

原创 复位电路。

电阻的作用,不是很理解,感觉是 在 上拉没有形成之前,给一个 确定的低电平。此时 电容还能起到 抗干扰的作用。有的 是低电平复位,有的是高电平复位。这里的电容的作用,上电自动复位。复位电路一般用到 电容电阻。

2024-06-18 10:53:29 228

原创 tmux 操作

arrow key>是指向要切换到的窗格的方向键,比如切换到下方窗格,就按方向键↓。Ctrl+b Ctrl+o:所有窗格向前移动一个位置,第一个窗格变成最后一个窗格。Ctrl+b Alt+o:所有窗格向后移动一个位置,最后一个窗格变成第一个窗格。Ctrl+b Ctrl+:按箭头方向调整窗格大小。Ctrl+b o:光标切换到下一个窗格,在多个窗口之间。Ctrl+b q:显示窗格编号。Ctrl+b {:当前窗格与上一个窗格交换位置。Ctrl+b }:当前窗格与下一个窗格交换位置。

2024-06-18 10:10:06 387

原创 vim 的 map+noremap

经常在 vim 的配置文件中,看到对于改键的设置。他们的区别主要有两种。1 用于哪种模式。

2024-06-17 14:01:10 162

原创 使用+学习 开源项目的 套路

3 参考网上的其他人使用 开源项目的 源码+方法,因为有的使用方法开源项目官方的网站上也不会写。2 参考网上的使用 教程,给自己提供思维 hint。1 首先找到,官方网页+源码+ 使用说明。

2024-06-17 13:46:23 285

原创 按键 标示符

F1> - <F12> 功能键 1 到 12 *function_key* *function-key*<C-...> Control+键 *control* *ctrl* *<C-*<k0> - <k9> 小键盘 0 到 9 *keypad-0* *keypad-9*<M-...> Alt+键 或 Meta+键 *meta* *alt* *<M-*另见 |:fixdel|。

2024-06-16 11:07:30 399

原创 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 32

原创 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

原创 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 934

原创 git 的用法

git add -u:提交被修改(modified)和被删除(deleted)的文件,不包括新文件(new)。( -u == --update)git add . :提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件。git add -h:git add 查看帮助,git add --help可以查看更详细内容。git add:将工作区中 新建/修改/删除的文件内容,添加到暂存区。git add -A:提交所有变化( -A == --all )

2024-06-07 17:46:07 261

原创 linux 系统调用头文件, 标准C语言头文件,驱动开发所需头文件

include <mach/***.h> //是在linux-2.6.29/arch/arm/mach-s3c2410/include/mach下面寻找源文件。#include <asm/***.h> //是在linux-2.6.29/arch/arm/include/asm下面寻找源文件。/***.h> //是在linux-2.6.29/include/linux下面寻找源文件。

2024-06-07 13:49:57 741

原创 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 547

原创 6818 android 修改开机 logo, 编译脚本分析

这是 android4.4 的开机logo 的修改,但是Android5.1 也大致是这样,只是有些目录可能需要修改。说明: 对于Android5.1 来说,uboot 与kernel 的logo 是一个。其实对于开机logo 的修改很简单,直接参考厂家手册就可以了。问题: 客户需要去掉 android5.1 的开机logo.对于编译脚本中 android 部分的 logo 部分的分析。所以 android 应该也是一样的。接下来参考一下 qt 的逻辑。这是Android的拷贝目录。

2024-05-23 11:22:43 347

原创 rk3399 shell 测试串口 sttf

这里首先要 insmod 一下 ch340 的驱动,默认会有 /usr/sbin/ch34x.ko, 如果没有的话,可以自己编译然后放进来。问题: 使用 ubunut shell 来对串口进行测试。板卡上使用的是 USB 转串口, 使用了一片ch340。再 ubuntu shell 的测试命令。这样就可以再板卡与 PC之间做测试了。

2024-05-16 13:22:54 135

原创 3588 pwm android12 的操作,包含 NDK native C++

还不知道,android12 最终包含的 设备树是哪个,但是经过我的测试, 在android12 的 shell 里可以通过 sysfs 操作 pwm15.要么是 写一个 操作 /sys/ 节点的C应用程序,然后,android app 去调用这个应用程序。要么就是通过 NDK的方式 去操作 PWM , 但是最后还是会走到 操作 /sys/ 的设备节点。所以只能是, 先编译好, 应用程序,然后拷贝到 android12 的命令行,测试。可以按照裸机的方式+字符设备的方式,自己写驱动。

2024-05-11 19:36:25 210

原创 rk3568 debian11 xfce 桌面触摸无法双击桌面图标

经过我的测试,鼠标是没有问题的,并且,如果使用触摸的话,对于单击的项目是没有问题的(比如开始菜单的设置),但是,对于桌面上的 需要双击才能够打开的图标就没有效果了。资源: itop rk3568 底板+核心板, 系统:debian11 xface , lvds .问题: 客户反应 rk3568 debain11 xfce 桌面, 使用触摸无法 双击桌面图标。所有应用程序--->设置管理器--->桌面---->图标--->单击激活项目。这样触摸一下,就打开了图标,当然,鼠标也是只需要点一下,就打开图标。

2024-04-28 18:00:53 208

原创 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 54 2

原创 28 切换至低特权级(3)

1 设置 CS(代码段) , 数据段(DS) 最后的位。2 定义数组作为 栈。3 需要先把中断 关掉。

2024-04-20 00:04:55 109

原创 27 切换至低特权级(2)

1 在GDT表中设置 应用的代码段+数据段。3 利用iret 的特性,切换到任务0。4 设置 iret 之前的栈。2 设置 task0 的内容。

2024-04-19 23:40:49 105

原创 26 切换到低特权级(1)

3 CS的CPL字段, 段选择子的RPL字段 , 数据段描述符的DPL字段 都与特权等级有关。4 切换到保护模式之后,代码默认运行在 特权级0 的模式下。2 GDT 与IDT 有相应的特权设置位。1 介绍 芯片支持的特权等级。

2024-04-19 23:16:46 94

原创 泰山派 官方教程 记录

4 在保存 menuconfig 的时候,使用的是 saveconfig 还是挺新颖的。3 写一个自己的驱动,拔掉触摸线,来模拟驱动。但是由于这是一个模拟的触摸,所以也不需要了解寄存器,直接 report 就可以了。8 适配触摸屏的流程, 首先是 reset 时序,想不到reset 还有时序,然后是 设置i2c。2 在i2c 接口去配置设备树,可以参考别人的驱动,也可以参考驱动的内容,也。7 他最后还是自己写了一个 真实的触摸驱动,这里需要注意, x , y 坐标的翻转,得到自己设置的结构体。

2024-04-16 19:04:33 492 1

原创 rk3566 泰山派 小手机项目 的后续。

接下来是用 官方默认的 mipi 的设备树的参数,启动一下屏幕,就算屏幕的什么参数都是不对的,但是 PWM 应该是对的吧,起码它会亮。我在写 mipi 的初始化指令时, 少写了参数,导致 在uboot 启动的时候,报错。首先 确定 板卡的第一脚 在哪里-->确定 屏幕的第一脚在哪里(万用表测)------>排线的连接方式是不是 意义对应的。继续去改Mipi的设备树,这次直接再之前的设备树文件中改动,然后复制一份设备树文件。再第一次启动的时候,会进入这里。可以看到,屏幕是没有问题的,我的连接也是没有问题的。

2024-04-15 18:56:16 1131 1

原创 24 开启定时器中断(2)

1 设置8253定时器。

2024-04-12 15:57:03 192

原创 nvim 打造成可用的IDE

事实证明,我是用压缩包解压的方式,也是可以使用 ~/.config 来对nvim 进行配置的。接下里是直接使用 网上的nvim 的配置的尝试。这应该是 ubuntu 的版本与 我下载的vscode 的版本不一致导致的。我又重新,建立了一个虚拟机,这回,直接安装 ibus 不用 fctx 了。接下俩安装 括号不同颜色的插件, nvim-ts-ranbow。所以老老实实的从零去配置nvim ,不跟着它的教程走了。nvim-cmp , 一般的lua 不全插件。上面所添加的所有的补全的插件应该都要 配置一遍。

2024-04-05 09:49:13 922

原创 关于 ranger 的使用

安装: apt install ranger。目前还不知道 怎么在文件夹中 搜索文件。在 终端中的文件管理器。

2024-04-05 08:37:53 199

原创 tmux 使用

7 调整小窗口大小: prefix + ctrl + up/down/left/right。5 在小窗口间切换 :prefix + { ,向前跳, prefix+} 向后跳。8 将当前的小窗口变到最大: prefix + z ,再按一次,便回到原来的大小。prefix + x 这也是关闭小窗口的方法。bind -n : 后面的键就不用加 prefix 了。6 在窗口间切换 prefix + 1.2.3。3 创建小窗口 prefix + %4 关闭小窗口 prefix + x。

2024-04-04 23:36:15 308

原创 23 开启定时器中断(1)

1 8259 主片 地址: 0x20-0x21, 8259从片 ,地址: 0xA0-0xA1。3 设置中断向量表。

2024-04-04 01:27:06 99 1

原创 21 打开分页机制(2)

注意 cr0 寄存器的打开页表必须是 在cr4 之后。7定义二级页表 , 映射 80000000 地址。疑问: CR3 与 PDE是不同的东西吗?cr0 寄存器的最高位 打开分页机制。1 建立 4M的PDE 表。6 配置cr0 寄存器。4 配置cr3 寄存器。5 配置cr4 寄存器。cr4 寄存器的设置。2 初始化第0个表项。

2024-04-03 01:02:36 110 1

原创 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

原创 19.进入保护模式(3)

这种错误一般是 gdt表没有设置好。2 加载 GDTR寄存器。4 设置选择子,段内偏移。3 设置CR0 寄存器。7 设置GTD表首地址。6 重新设置数据段。

2024-04-01 07:25:36 22

原创 18.进入保护模式(2)

主要是对这章表的讲解。

2024-04-01 07:25:06 27

原创 17.进入保护模式(1)

在GDT表中 , 有内核代码段+内核数据段, 应用代码段+应用数据段, 还有 task0 LDT + task0 TSS , 难道说 内核+应用+任务,都算一个具体的程序吗?

2024-04-01 07:24:43 16

原创 16.加载自己的剩余部分(2)

5 目前这里的代码会加载到 磁盘的第一个扇区。目前磁盘的第二个扇区还没有内容。1 设置 bx , 读到内存的位置。2 cx , 读取磁盘开始的扇区。3 ax , 读取的扇区数。4 dx, 读取第几块磁盘。

2024-04-01 07:24:16 19

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除