基于arm + linux的嵌入式软件开发,基本上的内容主要是:u-boot的移植,kernel的裁剪和相关驱动程序的设计,root-fs的制作,应用程序的设计,其中,应用程序主要包含两方面的内容:Gui的设计和逻辑控制程序的实现。在整个开发中,具有相当代码量的部分也就这么两个方面:驱动程序、应用程序。一般的开发板都有相关配套的底层驱动程序例程,开发者可稍加修改在工程项目中加以使用(其实我不知道这样是不是会触犯什么只是产权之类的东东,先凑着用吧)。
第一,驱动程序的设计。
很容易想到,Led在板子上是直接与CPU的GPIO引脚相接,即对相应GPIO的控制也就是对外设Led的控制,以下是Led作为一个外设在板子上的详细资源占用表。

图1.0 mini2440 开发板上Led灯的资源占用表
板子Led的原理图如下 :

图1.1 LED原理图
分析:LED灯只有两种状态,亮与不亮。查看用户手册可以知道,当GPIO被赋予低电平的时候,LED灯被点亮,否则将处于熄灭的状态,因此,只要设置好管脚高低电平两个状态就可以完成驱动程序连接底层硬件和应用程序的功能了。源码mini2440_leds.c 如下 :

本文详细介绍了基于arm + linux的嵌入式软件开发中,如何设计和实现Qt GUI控制LED显示的程序。内容涵盖驱动程序设计,如GPIO控制LED的源码实现,以及GUI部分,包括Qt界面元素的创建、槽函数实现LED控制。通过Qt GUI调用内核驱动,实现了对mini2440开发板上LED灯的灵活控制。
最低0.47元/天 解锁文章
753

被折叠的 条评论
为什么被折叠?



