基于ARM的SOC外设编程思路 (初学者心得)
最近在学习arm裸机开发,笔者为一个初学者,看到开发板教程里的一段关于SOC外设编程思路的总结,
觉得非常有启发,且该思路可推广至初学者学习其他行业的新知识。
下面是基于ARM的SOC外设编程思路详解:
(1)SOC外设编程三要素:SOC芯片的datasheet,外设芯片(比如NandFlash)的datasheet,官方或第三方参考源码。
(2)初学者SOC外设编程思路:
第一步:明确一个重要前提:初学者不要尝试自己完全不作任何代码参考,自己写出可行、可靠的外设操作代码,尤其是较复杂的外设;
原因一:自己在努力尝试完全独立编程该外设操作代码时,如果一段时间之后,仍未顺利实现,很容易打击初学者的学习兴趣;
原因二:在偏向应用场景开发的大环境下,参考官方程序的源码,不仅可以节省时间,而且官方的代码更加可行、可靠。
对用户的要求,应该是理解和吸收官方源码的某些对个人具有启发性的设计思路和编程技巧,为我所用,而不是强行重复造轮子,尤其是初学者。
PS:在官方源码不满足自己开发需求时,此时用户可以去深入研究,修改源码,以达到最终的开发需求。
第二步:参考和理解官方源码,知晓该源码的设计思路及实现细节,且进行板级实践验证,该源码切实可行可靠,能顺利操作该外设即可。
第三步:时间允许下,自己结合相关数据手册及其他资料,此时可以尝试独立编写该外设操作代码,并进行板级验证。
第四步:撰写总结,记录开发该外设过程中的新知识,新收获。——拓展个人的知识网络