|
之前玩过arduino,后面入了龙芯智龙V2,上网搜了许多说明,发觉点亮一个LED灯非常复杂,而且很多程序也没有搞清楚,问了一些人总是说照着教程做就好,搞得云里雾里的。教程一般是怎么说的呢?
先写内核程序,映射地址,然后跟整个linux一起编译,最后还要烧写pom芯片?整了一圈以后才是点亮一个led灯。
而arduino呢?
- <font face="微软雅黑">int ledPin = 10; //定义数字10 接口
- void setup()</font><span style="font-family: 微软雅黑;">{</span><div><div><font face="微软雅黑"> pinMode(ledPin, OUTPUT);//定义小灯接口为输出接口
- }
- void loop(){
- digitalWrite(ledPin, HIGH); //点亮小灯
- delay(1000); //延时1 秒
- digitalWrite(ledPin, LOW); //熄灭小灯
- delay(1000); // 延时1 秒
- }</font></div></div>
复制代码 一直想着龙芯智龙是不是也能这么便利。后面才搞懂内核、内核模块、用户态程序的关系。
发现自己的主板其实内核和GPIO内核模块都已经编译好了,只需要写用户态程序就行了。
这样的话就简单多了,所谓用户态程序,就跟操作linux文件一样,打开一个文件,往里边写一个1,它就亮了,写个0它就灭了。
而内核模块就是在不重新编译整个linux的情况下,往系统里安装驱动,而这个驱动是为了把物理地址(二进制地址)映射到用户态地址(某个类似文件的东西,存在某个目录)不知道这么理解对不对呢?
|
|