OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4120|回复: 1

学习嵌入式Linux-JZ2440-裸机程序总结

[复制链接]

22

主题

93

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
233
金钱
233
注册时间
2012-9-7
在线时间
3 小时
发表于 2015-5-12 14:54:32 | 显示全部楼层 |阅读模式
      学习嵌入式有两三个礼拜了,其实进度一般,一直停留在裸机阶段(既要上班实习,又要回到学校偶尔帮老师做做事,自己还要找时间学这个),以前有学过的同学告诉我,做那么几个裸机就可以跳过它了,然后去搞移植,搞驱动。我本来也是这么考虑的,但是最后还是没这么做,因为我觉着后面搞驱动对一些概念性的东西还是需要懂的,而讲裸机的时候正好可以学习一下。
       其实裸机程序就是在搞单片机程序,没有什么区别。以前基本上都是在Keil下编程,先建立工程,选择芯片型号,然后添加启动代码,之后编写代码文件,最后编译,下载验证。而搞ARM裸机程序也是一样的,一开始没有进行选型,在Keil下面选型其实就是确定一个配置信息,告诉IDE可用的资源有哪些等等。而搞ARM裸机不需要的原因是因为需要知道关于芯片型号的不是IDE,而是程序员自己,自己要知道有什么资源可以用,寄存器的地址又是什么,怎么去操作,都要自己动手去写,这也是ARM裸机程序的难点所在。我是没有使用IDE的,因为我觉着这样亲力亲为可以学习到很多东西,而且对于程序的组织结构、运行顺序等等基本概念的理解有非常大的作用,而且对gcc的学习、对makefile的学习等等都可以对后续的学习打下坚实的基础。所以,我还是建议老老实实的自己去搞一下,如果非坚持去使用IDE做的话,那真心可以直接跳过裸机程序,因为那样将和开发单片机程序没啥区别了。
      貌似在程序界,用来搞应用程序的时候一般第一个入门程序就会是Hello world程序,即打印一句Hello World。而搞单片机或者控制器程序,第一个程序一般都是操作GPIO点亮一个LED、识别按键。这些程序的代码量小但是程序结构完整,非常适合作为入门程序,让初学者对整个开发流程有完整的认识,同时学习到最基础的寄存器操作。记得当时学习51的时候,自己点亮第一个LED,后面又改成LED闪烁,再后面改成流水灯,再后面改成LED控制流水灯的快慢和方向…………就这样一点点的学习成长起来,后来搞MSP430应该说是最难的入手了,就拿着一块TI的小红板,然后对着User Guide,英文的哦,当时那个被虐的啊,真叫一个惨啊…………再后来老师让我学习STM32,虽说是ARM内核的,但是还是M内核的,偏向控制领域,STM32一搞就是两三年。接触ARM是在大四的时候才开始,之后又放下了。前阵子才又重新开始。搞第一个GPIO的时候还是挺顺利的,包括后面的,都得益于以前的单片机开发经验,学习了一些IDE编写头文件的方式,以及Project组织结构,在韦东山老师代码的基础上都做了自己的改动,能写成.h的就写一个.h和与之配套的.c,代码风格基本上延续了STM32时期从正点原子那里学到的东西。
搞裸机程序可以对硬件有一定的了解,也许对以后的移植会有帮助,我是这么认为的。下面的部分就到了移植UBoot,移植Linux两个大块了,看起来都是难啃的骨头,不过学习这个东西急躁不得,时间紧就更得慢慢来了,走马观花学不到什么东西,只是把视频看一遍,然后看看书,那样没太大的作用,就得自己多折腾折腾,折腾出来问题了,然后解决问题,在这个过程中自己慢慢的就进步了。
相信自己,加油!向更高层进发!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2015-5-12 22:56:41 | 显示全部楼层
不错啊,楼主的经验很宝贵啊。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 23:26

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表