RT-Thread 在Cortex-M0上的一些信息
目前RT-Thread 0.4.x分支已经完成了ARM Cortex-M0的移植:NXP LPC1114芯片做为面向低成本的Cortex-M0芯片,它的片内SRAM有限,所以RT-Thread在这方面也做相应的调整:
- 默认支持8优先级线程,依然支持相同优先级线程时间片轮转调度,全抢占式调度;
- 默认支持信号量和邮箱;
- 面向片内SRAM超过4K bytes的ARM Cortex-M0芯片。
当前的一些体积占用指标:
LPC1114(8k SRAM型号)
基本内核
Program Size: Code=1608 RO-data=480 RW-data=44 ZI-data=628
注:
LPC1114采用的内核分支稍微有些不同,还没合并到trunk主干上来,主干上的内核会大一些。 ARM Cortex M0是ARMv6-M构架,并不是ARM Cortex-M3用的ARMv7-M构架,所以CM0和CM3指令上存在一些区别,这个区别有些像Thumb和Thumb2的区别(CM3是Thumb2指令)。
在实际的使用中,感觉R8 - R11有些无用,因为指令访问这些寄存器会有诸多限制。
Cortex-M0的规范:
Architecture ARMv6-M (Von Neumann)
ISA support Thumb®/ Thumb-2 technology*
Pipeline 3-stage
Dhrystone 0.9 DMIPS/MHz
Interrupts NMI + 1 to 32 physical interrupts
Interrupt latency 16 cycles
Sleep modes Integrated WFI and WFE instructions
Sleep & Deep Sleep Signals
Optional Retention Mode with Power Management Kit
Enhanced Instructions Single-cycle (32x32) multiply
Debug JTAG or Serial-Wire Debug ports 等忙过这段时间,准备入手一个LPC3250,再弄个LPC的M3玩玩,他们也答应我到时候送我一个MO的开发板,嘿嘿。 LPC32xx已经是ARM9的,最那个的是LPCExpress开发板用的是3252,用这个来做仿真器,真是浪费啊。 为什么两个M0单片机移植的RTT,代码量会差那么多?
Program Size: Code=5232 RO-data=516 RW-data=164 ZI-data=1188
Program Size: Code=1608 RO-data=480 RW-data=44 ZI-data=628 google svn上RT-Thread 0.4.0开发分支已经包括了LPC11xx Cortex-M0的移植了,有LPC11xx Cortex-M0板子可以试用(仅包括kernel) Nuvoton Cortex-M0有可以试用测试的代码吗?谢谢! 对芯唐Nuvoton的Cortex-M0确实挺感兴趣,支持3.3V或5V供电,抗干扰的指标也不错,价格应该比STM32要便宜的,就是现在还没推开,不知道实际的表现如何,ffxz老大如何看? 很看好RT-Thread和Cortex-M0 谢谢楼上两位,目前感觉CM0缺乏推动力(内存过小,外设也不算多),给过新唐邮件没什么反馈。现在仅release出LPC的CM0代码,新唐的再说吧。 新唐没什么反馈?!可惜了,看来Nuvoton错过了一次很好的搭动车的机会。 虽然一直用NXP的ARM7,但CORTEX-M0方面,新唐比NXP做的好。
个人观点。 移植到的LPC1114上的代码哪有呀。。下载个感受一下
页:
[1]