2015年12月3日 星期四

ARM MDK 開發工具


ARM based MCU=ARM Cortex-M + Peripherals。

針對ARM Cortex-M 這種MCU的開發, ARM 原廠提供的是MDK ARM開發工具。




Keil Microcontroller Development Kit (MDK-ARM) 開發工具

MDK-ARM 開發工具= MDK core + Software Packs
 (免費版本有32K byte code size的限制)

MDK core: ARM C/C++ compiler , assembler, linker, uVision IDE/Debugger ,pack installer等
Software Packs: CMSIS, Device Startup+Driver, Middleware



www.keil.com


什麼是CMSIS?


系統啓動是首先是ARM CPU在跑, 對於ARM Startup up code可由CMSIS做掉。

CMSIS(Cortex-M Software Interface Standard) ARM® Cortex 微控制器軟體介面標準。這是 Cortex-M 處理器做的硬體抽象層,讓不同的MCU廠商在存取Cortex-M 時都使用這個軟體介面,不用每家廠商自己寫自己的,再者既然有人寫了界面(即CMSIS),  這些底層的code , 如果用到組語, 也都包含C 函式了, 也就是 Inline Assembly 的寫法。 因此,都有C code了, 所以也就不用管到Cortex-M底層,只要知道如何叫用C就好了. 這就是CPU抽象化的方法。

這其實就是一個HAL層,不必知道ARM Architecture,各種Operation Mode,  CPSR, R0~R15,內部暫存器等都不必知道, ARM  Assembly 也當然都不用看了





CMSIS-Driver

沒有留言 :

張貼留言