嵌入式
文章平均质量分 81
zzipeng
这个作者很懒,什么都没留下…
展开
-
Linux自带的LED灯驱动
LED灯驱动文件为,打开这个文件:Makefile文件:这个驱动文件:第236~239行,LED驱动的匹配表,此表只有一个匹配项,compatible内容为“gpio-leds”,因此设备树中的LED灯设备节点的compatible属性值也要为“gpio-leds”,否则设备和驱动匹配不成功,驱动就没法工作。原创 2024-04-13 17:42:56 · 765 阅读 · 0 评论 -
设备树下的platform驱动编写
在没 有设备树的 Linux内核下,我们需要分别编写并注册和,分别代 表设备和驱动。在使用设备树的时候,设备的描述被放到了设备树中,因此 platform_device就 不需要我们去编写了,我们只需要实现 platform_driver即可。在设备树中创建设备节点来描述设备信息,重点是要设置好compatible属性的值,因为platform总线需要通过设备节点的compatible属性值来匹配驱动。第4行的compatible属性值为“”,因此一会在编写。原创 2024-04-13 11:02:59 · 704 阅读 · 0 评论 -
platform设备驱动实验
Linux系统内核使用bus_type结构体表示总线,此结构体定义在文件bus_type。原创 2024-04-12 01:09:38 · 614 阅读 · 1 评论 -
设备树下 的LINUX驱动实验
/ledApp /dev/dtsled 1 //打开。./ledApp /dev/dtsled 0 //熄灭。depmod //第一次加载驱动的时候需要运行此命令。modprobe dtsled.ko //加载驱动。③、使用获取到的有关属性值来初始化。,获取设备树中的相关属性值。文件中创建相应的设备节点。在第四十二章实验基础上完成。中,重启系统,进入到目录。命令:make -j32。修改完之后编译设备树木。将dtsled.ko。中,输入如下命令加载。文件, 在根节点“/原创 2024-03-26 23:21:08 · 329 阅读 · 0 评论 -
Linux设备树
使用cat命令查看model和compatible内容,正是设备树文件根节点的对应属性值。:前一个子节点,也就是从哪一个子节点开始迭代的查找下一个子节点。内核启动的时候会解析设备树中各个节点的信息,并且在根文件系统的。这个属性的值和uboot里面设置的bootargs一样。:带有全路径的节点名,可以使用节点的别名,比如“chosen节点是uboot添加的。表示从根节点开始查找整个设备树。表示从根节点开始查找整个设备树。表示从根节点开始查找整个设备树。表示从根节点开始查找整个设备树。原创 2024-03-26 22:44:15 · 898 阅读 · 0 评论 -
新字符设备驱动实验
echo /sbin/mdev > /proc/sys/kernel/hotplug // 设置热插拔事件由。测系统中硬件设备状态,可以根据系统中硬件设备状态来创建或者删除设备文件。函数注册字符设备的时候只需要给定一个主设备号即可,但是这样会。./ledApp /dev/newchrled 1 //打开。./ledApp /dev/newchrled 0 //关闭。是要申请的起始设备号,也就是给定的设备号;①、需要我们事先确定好哪些主设备号没有使用。②、会将一个主设备号下的所有次设备号都使用掉。原创 2024-03-24 20:12:19 · 656 阅读 · 1 评论 -
Linux LED驱动实验
函数释放掉 ioremap 函数所做的映射。函数用于获取指 定 物 理 地 址 空 间 对 应 的 虚 拟 地 址 空 间。depmod //第一次加载驱动的时候需要运行此命令。./ledApp /dev/led 1 //打开。./ledApp /dev/led 0 //关闭。,此参数就是要取消映射的虚拟地址空间首地址。modprobe led.ko //加载驱动。是虚拟空间到物理空间的映射,也叫做地址映射。读取写内存地址,返回值就是读取到的数据。:要映射的物理起始地址。:要映射的内存空间大小。原创 2024-03-22 00:33:05 · 637 阅读 · 1 评论 -
Linux字符设备驱动入门
Linux应用程序对驱动程序的调用如图所示Linux应用程序对驱动程序的调用如图所示。原创 2024-03-21 00:39:00 · 831 阅读 · 1 评论 -
NFS服务器挂在搭建好的根文件系统调试
1、板子预先烧录自己编译的uboot,进入uboot命令行模式,设置bootargs和bootcmd。设置通过TFTP服务从服务器下载zImage和dtb文件到ARM板内存指定位置。根文件系统在linux环境搭建好之后,可以通过nfs服务器挂载,方便调试。结果,根文件系统有问题,继续。设置nfs挂载根文件系统命令。原创 2024-03-19 00:17:14 · 335 阅读 · 1 评论 -
I.MAX6ULL 从ATK获取uBoot编译烧写记录
2、虚拟机安装库:sudo apt-get install libncurses5-dev。赋予执行权限:chmod 777 imx_6ull_emmc_defconfig.sh。6、将编译好的uboot固件烧写到sd卡。7、开发板插入sd卡,选择从sd卡启动。4、执行如下配置脚本文件。可执行权限,一次即可。原创 2024-03-16 12:24:35 · 171 阅读 · 1 评论 -
bootargs和bootcmd命令
fatload mmc 1:1 0x80800000 zImage //读取。bootz 0x80800000 - 0x83000000 //启动。系统的唯一目的就是为了调试,加快调试速度效率。倒计时结束以 后就会执行 bootcmd。mmc dev 1 //切换到。用来设置根文件系统的位置,用于指明根文件系统存放在。bootcmd 保存着。下载完成以后就是启动。原创 2024-03-16 13:32:08 · 327 阅读 · 0 评论 -
I.MX6ULL 从NXP官方获取uboot并且移植
1、NXP官方获取:2、解压缩:tar -vxjf boot-imx-rel_imx_4.1.15_2.1.0_ga.tar.bz23、打开configs目录4、利用官方的配置文件编译uboot命令敲打之后会自动编译uboot5、编译成功画面6、避免每次编译uboot需要重新输入命令麻烦,可以创建sh脚本文件make ARCHarmlinuxgnueabihfdistcleanmake ARCHarmlinuxgnueabihfmake V1ARCHarmlinuxgnueabihf。原创 2024-03-16 13:13:28 · 929 阅读 · 0 评论 -
将NXP官方Linux kernel移植到自己的开发板
1、安装库2、官网获取kernel包解压缩:3、根目录创建脚本文件12make ARCHarmlinuxgnueabihfdistclean3make ARCHarmlinuxgnueabihf4make ARCHarmlinuxgnueabihfmenuconfig5make ARCHarmlinuxgnueabihfallj16赋予运行权限chmod 777编译的过程中会弹出kernel编译的图形配置界面,按两下esc退出,继续编译。编译完成界面:Linux。原创 2024-03-16 14:27:48 · 744 阅读 · 1 评论 -
sizeof使用二维数组时注意问题
先上代码:float gcode[10][2]={ {0.00,0.00}, {100.00,0.00}, {100.00,50.00}, {0.00, 50.00}, {0.00,100.00},原创 2017-02-05 16:25:49 · 499 阅读 · 0 评论