[IMX6ULL]移植NXP Linux Kernel 5.15 仓库[nxp-imx/linux-imx]2. 编译NXP Linux Kernel 5.153. 烧写NXP Linux Kernel 5.15编译生成使用tftp方式下载上面两个文件到板子上(uboot移植看前面的文章)4. 适配正点原子Alpha板子4.1 新建单板配置文件4.2 新建单板设备树文件修改imx6ull-14x14-alpha.dts修改imx6ull-14x14-alpha-emmc.dts修改dts目录下的Makefile, 添加imx6ull
[Debugger]使用openocd+dap-link调试树莓派4B[Cortex-A72] 这里的dap-link使用的是jtag的方式由于使用的是方式连接树莓派,但是OpenOCD的中的是以方式连接,我们要参考它新建一个运行OpenOCD运行GDB运行效果如下:
[A133]全志u-boot中的I2C驱动分析 IIC是高位(MSB)先传输2.1.1 主机发开始信号2.1.2 主机发从机设备地址2.1.3 主机发送从机寄存器地址2.1.4 主机发送数据到从机2.1.5主机发送Stop信号2.2 主机读数据读操作除了下面的两个操作,其他与写一样restart信号实际上就是start信号,只是restart不会reset总线
[A133]uboot启动流程 init_sequence_f数组中特别注意的是下面的函数,将接下来的链接重定位内存结构息息相关。标签的当前地址,并将其存储在链接寄存器(lr)中。这将是代码重定位后的返回地址。)的低4位清零,以确保栈指针(sp)是16字节对齐的。重定位uboot text&bss&data段到内存中的新地址。中,根据平台架构, 有对应的实现,当前平台是armv8。为即将重定位做的内存分配,此时结构如下。寄存器中,以得到重定位后的最终返回地址。到这里重定位的准备工作都做完了,从下面的汇编到C的map可知是。
[IMX6ULL]移植lf-v2022.04 U-boot ALPHA 板子不同于NXP的EVK开发板,它的LCD RESET使用的是硬件上电复位,所以不需要使用软件复位,即不需要单独的Pin去reset,所以注释EVK用到的lcd reset, 节约引脚(软件上,在LCD时序也需要注释掉它调用reset脚的时序点,在下面有讲到)修改arch/arm/dts/Makefile, 添加alpha板子。修改arch/arm/mach-imx/mx6/Kconfig。修改imx6ull-14x14-alpha-emmc.dts。// 将改变覆盖到MMC。
[RP2040]Ubuntu搭建RP2040开发环境 一、下载SDK和编译链下载SDK下载交叉编译链配置在最后追加二、编译实例工程新开一个终端,进入目录编译blink编程编译完成同级目录下生成:blink.uf2、blink.elf、blink.bin
LVGL在framebuffer设备上的移植 arm-linux-gnueabihf-gcc: 错误: unrecognized command line option ‘-Wshift-negative-value’gcc编译报错 error: ‘for‘ loop initial declarations are only allowed in。文章参考于网友的经验。
kernel的module目录名疑问 原因:kernel的module目录匹配是由kernel编译时生成的版本决定的,本来制作rootfs时创建module文件夹名字是4.1.15,但是修改了内核,内核的version生成信息变了,相应的源码如下:(kernel的顶层Makefile)当修改内核后重新编译后烧到设备上,启动后发现kernel的module名和uname -r对不上了,导致驱动无法加载,出现如下的错误信息。脚本执行的结果拼接而成,其中$(KERNELVERSION)就是内核原本的版本号4.1.15,而。这里主要分为两个部分。
STM32 MCU的易坑点收集 时钟延长是一个术语,某些从设备可以把时钟线拉低,主设备发现自己释放时钟线之后时钟线还没有变成高电平,就会停止发送数据,然后等待从设备释放时钟线。通过这种方式从设备可以告诉主设备你慢点发,我这边还得准备准备,这在从机速率比主机低的时候会有用,stm32会默认开启时钟延长模式[Clock No Stretch Mode=disbale](这里的disable和No双重否定等于肯定),不过大多数IIC设备没有时钟延长的设定.
[Socket]Unix socket 运行权限问题 原因:unix socket是基于文件的fd方式访问,socket_path实际上是一个目录+文件(s文件),要确保这个文件有可读写权限。问题:socket只能在当前源码目录运行,如果是服务端,启动则会出现无法bind, 客户端则会出现无法connect。解决方法:在server端listen方法前修改socket_path的文件权限。
[Android 13]Input系列--触摸事件在应用进程的分发和处理 Android 13前面我们已经梳理了input事件在native层的传递,这一篇我们接着探索input事件在应用中的传递与处理,我们将按键事件和触摸事件分开梳理,这一篇就只涉及触摸事件。