本人纯软件出身,c,c++编程有一定了解,但是对底层内容从未接触过,最多就是小学过一下书本的8086汇编的东西,而且很基础。
最近一个小项目是嵌入式的,iar开发环境 arm的设备,没有操作系统,据说用J-link 辅助调试,一个有线通信设备,带有用户界面
本人从没用过这套东西,怎么能最快速的大概了解一下这种开发环境的概貌,因为有现成的代码,项目只是增加功能,而且是主要是应用层,
所以能够上手就好。
比如 大概的工作原理,如何调试,调试的大概原理(jlink原理),烧录,写入硬件,等等吧,或者哪里有类似即概括又明了的入门文章。
至少让我知道东西拿到手,哪个部分是干什么的,基本工作原理,有多少底层的内容是必须了解的等等
谢谢大家
------解决方案--------------------
都有现成代码了,就好办了,而且主要是应用层,只要去调用现成代码里的驱动就成了,用户界面通过液晶屏显示?屏幕的驱动代码应该也有了吧, 调试一般是通过串口打印信息来调试的,更深入的就是通过仿真器(jlink)来单步调试了,jlink是通过控制arm cpu来单步执行的,你可以看到每一步的汇编代码,烧录、写入硬件也是jlink通过控制cpu去往存储器(flash)里写数据。。
我是觉得通过串口打印调试信息就足够用了,但前提是串口已经初始化好了,可以用了
顺便问一下,您要不要招人,,我去你那应聘,我想做底层 哈哈哈
------解决方案--------------------
JLINK如何用,如果烧录程序,这些东西很多卖开发板的光盘资料里面会写。
或者网上百度下。搞过一次就会了。
主要是IAR,既然楼主会c/c++,那用起来IAR也没什么问题,c/c++的工具包括IDE全都大同小异吧。
IAR也可以看它的help文档,也有专门的书,不过觉得没什么必要。
------解决方案--------------------
pc上不要模拟器,我一般是用keil去调试arm程序,可以选择是在目标设备的flash上运行代码或者在目标设备的内存里运行代码, keil软件可以通过jlink查看目标设备各个寄存器的值
一般工程里都需要boot工程,最开始的代码用汇编写的,这些汇编代码完成cpu的初始化、频率设置,内存初始化,堆栈初始化,接下来才能运行C程序,还有一些硬件初始化,比如串口,才能通过串口打印调试信息