嵌入式Linux
文章平均质量分 62
坂田民工
通信电子老登
展开
-
[RK3566]linux下使用upgrade_tool报错
查看upgrade_tool的log。原因:usb节点的操作权限不足。原创 2024-08-03 22:44:09 · 426 阅读 · 0 评论 -
[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原创 2024-07-21 17:05:23 · 941 阅读 · 0 评论 -
[Debugger]使用openocd+dap-link调试树莓派4B[Cortex-A72]
这里的dap-link使用的是jtag的方式由于使用的是方式连接树莓派,但是OpenOCD的中的是以方式连接,我们要参考它新建一个运行OpenOCD运行GDB运行效果如下:原创 2024-07-08 14:25:20 · 323 阅读 · 0 评论 -
[Debugger]调试Arm设备
1.2 运行gdb进入gdb环境,连接到设备原创 2024-07-05 15:48:24 · 403 阅读 · 0 评论 -
[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总线原创 2024-07-01 14:09:11 · 404 阅读 · 0 评论 -
[A133]uboot启动流程
init_sequence_f数组中特别注意的是下面的函数,将接下来的链接重定位内存结构息息相关。标签的当前地址,并将其存储在链接寄存器(lr)中。这将是代码重定位后的返回地址。)的低4位清零,以确保栈指针(sp)是16字节对齐的。重定位uboot text&bss&data段到内存中的新地址。中,根据平台架构, 有对应的实现,当前平台是armv8。为即将重定位做的内存分配,此时结构如下。寄存器中,以得到重定位后的最终返回地址。到这里重定位的准备工作都做完了,从下面的汇编到C的map可知是。原创 2024-06-26 11:15:48 · 691 阅读 · 0 评论 -
[A133]uboot引导Linux内核启动流程
坂田民工2024-6-17。原创 2024-06-21 15:41:54 · 770 阅读 · 0 评论 -
[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。原创 2024-05-07 22:45:23 · 505 阅读 · 0 评论 -
LVGL在framebuffer设备上的移植
arm-linux-gnueabihf-gcc: 错误: unrecognized command line option ‘-Wshift-negative-value’gcc编译报错 error: ‘for‘ loop initial declarations are only allowed in。文章参考于网友的经验。原创 2023-12-31 16:43:07 · 1955 阅读 · 3 评论 -
kernel的module目录名疑问
原因:kernel的module目录匹配是由kernel编译时生成的版本决定的,本来制作rootfs时创建module文件夹名字是4.1.15,但是修改了内核,内核的version生成信息变了,相应的源码如下:(kernel的顶层Makefile)当修改内核后重新编译后烧到设备上,启动后发现kernel的module名和uname -r对不上了,导致驱动无法加载,出现如下的错误信息。脚本执行的结果拼接而成,其中$(KERNELVERSION)就是内核原本的版本号4.1.15,而。这里主要分为两个部分。原创 2023-12-29 21:51:36 · 816 阅读 · 0 评论 -
[Socket]Unix socket 运行权限问题
原因:unix socket是基于文件的fd方式访问,socket_path实际上是一个目录+文件(s文件),要确保这个文件有可读写权限。问题:socket只能在当前源码目录运行,如果是服务端,启动则会出现无法bind, 客户端则会出现无法connect。解决方法:在server端listen方法前修改socket_path的文件权限。原创 2023-11-13 14:41:29 · 879 阅读 · 2 评论 -
buildroot编译问题解决
【代码】buildroot编译问题解决。原创 2023-11-03 22:45:05 · 618 阅读 · 0 评论 -
Linaro交叉编译链配置
Linaro交叉编译链配置1. 下载Linaro交叉编译器官网地址: https://releases.linaro.org/components/toolchain/binaries/latest-7/arm-linux-gnueabihf/64位系统选择:arm-linux-gnueabihf/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf.tar.xz2. 配置Linaro交叉编译器1. 在 Ubuntu 中创建目录: /usr/lo原创 2021-07-18 16:00:52 · 923 阅读 · 0 评论 -
全志H3编译Linux-4.14 BSP
全志H3编译Linux-4.14 BSP1 安装交叉编译器访问此处下载地址的toolchain目录,下载交叉编译器arm-cortexa9-linux-gnueabihf-4.9.3.tar.xz,然后解压编译器:$ mkdir -p /opt/FriendlyARM/toolchain$ tar xf arm-cortexa9-linux-gnueabihf-4.9.3.tar.xz -C /opt/FriendlyARM/toolchain/然后将编译器的路径加入到PATH中,用vi编辑~原创 2021-07-12 21:39:34 · 1404 阅读 · 0 评论 -
Linux DD命令常用
Linux DD命令常用:zhuhongxi 2021-6-8拷贝(备份)dd if=xx1 of=xx2举例:dd if=/dev/sda of=/root/sda.bak其中:if=文件名:指定输入文件名或者设备名,如果省略“if=文件名”,则表示从标准输入读取。of=文件名:指定输出文件名或者设备名,如果省略“of=文件名”,则表示写到标准输出。上述例子表示将/dev/sda这个文件(实际上就是我们的某块硬盘)的内容拷贝到文件sda.bak中,实现备份。将输入文件和输原创 2021-06-08 15:39:47 · 574 阅读 · 0 评论 -
I.MX6ULL制作根文件系统
I.MX6ULL 制作根文件系统一、编译、配置BusyBox1. 配置MakefileCROSS_COMPILE ?=/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-ARCH ?=arm2. 配置中文字符支持修改busybox-1.29.0/libbb/printable_string.cconst char* FAST_FUNC printable_s原创 2021-05-05 01:22:49 · 196 阅读 · 0 评论 -
I.MX6ULL 移植Kernel-笔记
1. 修改Makefile, 将对应的变量改为:ARCH ?=armCROSS_COMPILE ?=arm-linux-gnueabihf-2. 添加开发板默认配置文件cd arch/arm/configs/cp imx_v7_mfg_defconfig imx_alientek_emmc_defconfig3. 添加开发板对应的设备树文件添加设备树文件cd arch/arm/boot/dtscp imx6ull-14x14-evk.dts imx6ul原创 2021-05-03 01:11:51 · 351 阅读 · 0 评论 -
I.MX6ULL 移植U-boot-笔记
I.MX6ULL 移植U-boot1. 添加开发板默认配置文件在 configs 目录下创建默认配置文件,复制 mx6ull_14x14_evk_emmc_defconfig,然后重命名为 mx6ull_alientek_emmc_defconfig 。cd configscp mx6ull_14x14_evk_emmc_defconfig mx6ull_alientek_emmc_defconfig修改mx6ull_alientek_emmc_defconfig的内容为:CONFI原创 2021-04-24 22:49:10 · 1051 阅读 · 0 评论 -
配置vscode的C++运行环境
zhuhongxi2021-3-211. Linux ubuntu下载vscode下载 C/C++ 插件创建工程文件夹并用vscode打开这个文件夹运行选项中,选择添加配置(Add configuration),然后选择C++(GDB/LLDB),将自动生成launch.json文件(也可以在工程文件夹下的 .vscoed 目录下手动创建launch.json文件,并复制一下内容){ // 使用 IntelliSense 了解相关属性。 // 悬停以查.原创 2021-03-21 20:48:04 · 524 阅读 · 0 评论