因为要开始弄毕业设计了,所以把主要精力开始集中到arm平台,又因为前面一直在写 基于x86的OS,所以在s3c2440上写了一个简易的OS,本来想直接在Ubuntu上直接开发,但是由于本人的的makefile水品不加,而且nand flash 太难了 直接导致流产在Ubuntu上开发,没办法只能转到window下的mdk平台。 当转换平台后才发现 原来在window下开发嵌入式真的是 百害人而无一利啊。 首先你不用在写makefile,(这样你就无法自动化了) 而且链接脚本你也不用写了 (ide 直接帮你了) 我想对一个了解 从.c到.bin 过程的人来老说这真的是无法容忍的, 而且你还没发看反汇编(虽说我的arm汇编也是从写arm s上的OS练起来的) 这总总的不利....
好了来说下总结(我自己喜欢在a4的纸上写总结,网络发表 只能说个大纲,因为a4纸 就满满写了 5张 还有一些小知识点 加起来就更多了)
①异常返回时pc的值 参见手册 ② 协处理器指令 ③stmxx/ldmxx 的使用以及 ! ^ 含义 http://luleimi.blog.163.com/blog/static/175219645201210922823502/ 看这个 ④pcb的设定 ⑤ 软中断的使用 以及软中断号的使用 ⑥nand 启动和nor 启动 如何区分 ⑦ arm 汇编中 位置相关指令 及位置不相关指令 (这个对于你在跳转进入 sdram很有用) ⑧ mmu的使用方法 段,页的定义 页表项的查找方式 你要清楚 ⑨TAPCS 规则 ⑩嵌入式汇编的使用方法 参见bootlader ⑪协处理器 cp15 中的相关 reg 的作用 基本上就是这些问题,当你掌握了你就可以写出一个基本的OS了。 还有就是耐心