Tag Archives: arm

《通用Jtag下载器》STM32的Flash下载方式思考

最近通过Jtag给STM32下载代码,还行,就是慢啊,那个慢…… 因为是通过给ARM核心指令,然后再单步,操作DBUS,然后写入新的代码,重复。 而写Flash的一个byte需要几次,这么一来,通过Jtag传输的效率极其低下(还得判断是否写完了)。 然后就发现jlink有个功能:ramcode。说起来就是先写一段falsh烧写程序到内部的ram,然后传送64bytes到接着的ram空间,然后让PC跳转到这个程序执行。

Posted in General Jtag | Tagged , , , , | Comments Off on 《通用Jtag下载器》STM32的Flash下载方式思考

FreeRTOS On STM32 – ARM7TDMI启动脚本(1)

最近开始阅读ARM7TDMI的启动脚本,目的是修改一些东西,先总结一下基础: 处理器特点 ARM7是带有流水线的(取指、译码、执行)!这点很重要,如果没有这个有些功能基本就没法实现,而一些功能实现起来会特麻烦,比如说内存模式的映射,这个以后会说的。ARM7的PC指针是指向取指的地址,而非执行的指令的地址。所以在执行的时候读取PC的值永远是+2个指令地址(ARM是每个指令4bytes,thumb是2bytes)。 这个有什么用?

Posted in FreeRTOS On STM32 | Tagged , , , , , , | Comments Off on FreeRTOS On STM32 – ARM7TDMI启动脚本(1)

FreeRTOS On STM32 – 自己写个linux风格的串口api

尝试移植uC/OS-II到stm32f103c8小板上一直不成功,还是先用freertos完成想做的东西再说,但是他的api实在是受不了…… 那么就自己在stm32的library和freertos的api之上写个linux-posix风格的api吧,等弄完了之后再从freertos的底层优化,也把stm32的库优化。

Posted in FreeRTOS On STM32 | Tagged , , , , , , , | 3 Comments

《通用Jtag下载器》Jtag协议

最近需要自己做一个Jtag下载器,在这里做一些备忘。 Jtag是Joint Test Action Group的缩写,简单来说就是“在线测试和边界扫描”。常见的ARM和CPLD、FPGA都带有Jtag接口,可以用于更新固件,测试IC的IO功能。 包含以下内容: Jtag接口 TAP状态机 Jtag时序

Posted in General Jtag | Tagged , , , , , , , , | 3 Comments

尝试使用eCos操作系统

已经使用了4年的rtems系统,所做的只是熟悉操作系统的使用,但是并没有自己移植过操作系统。这样就导致了无法定位移植导致的底层错误。而rtems的代码非常之多,并且相关的文档太少。于是准备捡起eCos系统,尝试自己移植它,熟悉移植的方法,熟悉eCos系统。 目前只是参考网上的文档,自己尝试走了一遍。

Posted in Others | Tagged , , , | Comments Off on 尝试使用eCos操作系统

《通用Jtag下载器》各种不同的Jtag接口

最近同时在弄ARM的Jtag和Xilinx的Jtag,发现虽然接口一样,但是Pin的顺序完全不同,在这里列出来,备忘一下。 主要的Jtag接口有10pin、14pin、20pin的,其中10pin的jtag,AVR和xilinx的一致。但是ARM用的10pin的Jtag就不一样。 以下部分图片从ARM官网下载,自己改了几个标签。

Posted in General Jtag | Tagged , , , , | Comments Off on 《通用Jtag下载器》各种不同的Jtag接口

Plan of this half year.

From next month, I will start a project http://code.google.com/p/armemu/. And I will read arm instruction reference and then build a simple cortex-m3 core. This project focus on easy try lpc1343 instead to by a real board.(For some people just want … Continue reading

Posted in Memo | Tagged , , | Comments Off on Plan of this half year.

搭建ARM-Cortex的交叉编译环境

GCC的编译参数参考自“ http://webcache.googleusercontent.com/search?q=cache:We-3G4SDlqAJ:bbs.byr.cn/article/Embedded_System/9011+cortex-m0+gcc&cd=16&hl=zh-CN&ct=clnk ”。 以下是自己在Debian和Mingw下测试过的。 以下的流程也适合在Mingw32下,只是要记得把libintl-8.dll和libiconv-2.dll拷贝到可执行文件夹下。

Posted in Others | Tagged , , , , , , , , | Comments Off on 搭建ARM-Cortex的交叉编译环境