前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ARM9开发之学习过程总结[通俗易懂]

ARM9开发之学习过程总结[通俗易懂]

作者头像
全栈程序员站长
发布2022-06-28 16:27:49
7740
发布2022-06-28 16:27:49
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

一路摸爬滚打,时至今日,与心爱的TQ2440相伴已有一年,从当初的一无所知到今天的得心应手,其间经历的种种,实在难以言表。想起第一次在串口打出一个字符的时候,那种心情,简直激动得快要爆了,这里先将我学习ARM中的整个过程简单总结一下,以后再详细的针对每个知识点写写东西。希望对刚接触的朋友有个提示作用,也希望高手不吝赐教,给些学习建议,欢迎拍砖^_^。需要说明的是,这仅仅说是ARM,其间涉及到别的知识也是需要很多时间去学习的,这里我就不列举了。

开发板的配套光盘有很多资料文档,在学习之前,大概浏览一下是非常不错的,强烈建议,特别是S3C2440的技术参考手册。 1,熟悉开发板的硬件资源(TQ2440的原理图) 2,熟悉SRAM,SDRAM,Nor Flash,Nand Flash。 3,熟悉内存控制器的初始化,程序要在SDRAM中运行,首先要初始化SDRAM。 4,熟悉ARM920T的启动方式(Nor Flash/Nand Flash)。 5,学会程序下载例程运行(TFTP方式或者USB方式)。 6,搭建开发环境(GCC交差编译)。 7,学习ARMv4指令集,编写简单的汇编程序,下载运行。 8,务必非常熟悉串口UART的使用,后边你自己的程序调试都需要通过串口来输出。 9,学习ARM汇编与C语言的混合编程,GCC内联汇编,掌握参数传递方式和ARM过程调用标准(APCS)即可。 10,到了这一步,基本上就可以用板子上的硬件资源来练习了,LED,按键,IIC接口的EEPROM, LCD等(板子上的蜂鸣器, LED,串口都可以用来当调试工具,观察它们的现象,判断你的程序执行情况)。 11,现在要学习ARM工作模式,异常处理机制,要非常熟悉中断处理,会编写中断处理程序。 12,自己可以写一个bootloader,写DM9000网卡驱动程序,实现ARP,IP,UDP,TFTP协议,从而用你自己的bootloader实现从服务器下载数据到开发板(我已经实现了一个,大家需要的,可以留言说明,我会联系大家)。 13,当第12步完成后,你可以尝试用你的bootloader从PC的TFTP服务器下载Linux内核镜像到开发板,然后启动Linux。 14,现在可以学习uboot了,就是你的开发板一上电就运行的那个东西,主要是学习移植。 如果你把12,13步完成了或者理解了,那么你也理解uboot了,它和你自己写的bootloader是一样的东西,只不过它功能更强大而已,可以做很多事情。 (但是最主要的就是,获取Linux内核镜像,初始化硬件环境,运行Linux)。 15,此刻,若你依然深爱着ARM920T,那么你可以在上面写一个操作系统(或者称为调度器),使用ARM920T的MMU。再编写或移植一套GUI,实现一个文件系统,实现一个TCP/IP协议栈(只要你想得到的,都可以在上面实现,目前我也在做)。

虽然刚毕业几个月,工作中也没有接触ARM9,但是我有时间就会坚持学习ARM9这款CPU,希望有朝一日,在接触新的ARM处理器时,也能快速入手。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/132772.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年6月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档