CMSIS... مجموعه ای از پروژه ها... لایه های نرم افزاری مستقل از تراشه... (Vendor-Independent HAL)... یعنی مجموعه ای از توابع... یا به عبارت دیگر، واسط نرم افزاری (Software API) بین برنامه نویس (Developer)، هستهCortex-M ، سیستم عامل و قطعات جانبی (Peripherals) میکروهای Cortex است... که کار با امکانات/قطعات جانبی را ساده می کند... زمان سازگاری کد در هنگام تعویض میکرو را کاهش می دهد (Software Re-use)... خب! برای این منظور! هر شرکت (Vendor) موظف است!، فایل های مورد نیازی را... برای تبعیت از این استاندارد کدنویسی... برای میکروهای خود ارائه دهد...
برای شروع برنامه نویسی میکروهای Cortex، تنها استفاده از بسته CMSIS، کافی است؟ نخیر!... هر سازنده باید لایه نرم افزاری مختص به خودش را ارائه کند، مانند ST HAL... از قبل هم به یاد داریم که ST Standard Peripheral Library برای دسترسی به رجیسترها از CMSIS Layer استفاده می کرد...
خب! برای NXP چی داریم؟ LPCOpen...