|
[X-NUCLEO-IKS01A2测评]开发环境介绍
[复制链接]
1. 配合X-NUCLEO-IKS01A2的评测需要搭建一个开发测试的环境,配套的软件环境采用mbed,硬件采用nucleo-L476
2. mbed开发环境
2.1 mbed是一个面向ARM处理器的原型开发平台,它具体包括免费的软件库(SDK),硬件参考设计(HDK)和在线工具(Web)三部分内容,其中对于开发者来说,直接接触的就是web界面,省去用户开发环境安装的麻烦,mbed提供了一个完备的基于浏览器的微处理器软件开发环境,包括代码编写,程序编译,版本控制等功能,用户只要上网就可以开发,编译结果只要下载保存到mbed开发板上即可工作,非常方便。在mbed的项目创建过程中,首先需要选择主控开发板,如果不在列表中,那么就不方便了。即使你选择了相似的版本,那么在引脚兼容和寄存器定义上都会发生比较难处理的问题,而且开发板的定义也不是每个引脚和端口都给定义了,使用时如果想当然的使用反而不好用。
后面的两个SDK,是mbed设计了一个硬件抽象层,从而屏蔽了不同mcu厂商提供了微处理之间的差异,对于用户来说,他只需要和这个硬件抽象层打交道即可,也就是说,用户基于mbed开发的应用可以很方便地更换使用不同厂商的arm微处理器,从而留给用户更多的选择。这样的话,从语句上讲也很简单直观,和arduino的语句的构造非常相似。如果关注于功能开发,非常有优势。不过如果所选的芯片有更丰富的功能,那么这样的方法就会不能尽力,如FRDM-KW41z,在开放的板卡有KW40可以直接兼容使用,但是,新推出的thread等都没有办法用了。
在主页上提出的HDK是mbed提供的硬件参考设计,它是面向用户开发设计的,所以HDK提供了统一了程序上载接口,单步调试接口,串口调试接口,用户无需购买其它硬件就可以开始软件开发工作。但是,这个功能不是对每个用户开放的,需要和mbed团队直接联系才可以实现的。如BLE蓝牙支持库,目前mbed库均基于nordics的芯片,其他类型的芯片是不能直接引入的。
2.2 MBED也是不断演进的,最核心的就是arm的CMSIS,CMSIS就是ARM指定的一套接口框架,通过它,可以屏蔽各家芯片操作的差异。所以针对芯片厂家来说,仅需要实现这些规定的接口就可以了。这个在所有的arm项目都会看到的。
这些都封装在mbed库中,而且更新版本还可以支持rtos,即使用了thread线程创建。
2.3 ARM mbed IDE是一款在线开发工具,网址:http://developer.mbed.org/不需要本地安装编译器就可以开发;也不必不断升级编译器的版本,更没有地点和时间的限制,只要能上网,随时随地可以进行开发。在里面选择compile,就可以见到如下界面。
2.4 不过如果联网不那么可靠,那么可以使用mbed cli的命令行控制。这个是web的console版本,不过,命令行的指令不那么容易使用,而且安装的过程中还会出现兼容问题,多次安装都没有安装成功过。
3. nucleo-L476
3.1 nucleo-L476是ST的常青树,长期好使,作为低功耗和低成本的芯片确实非常有竞争力。使用起来直接插上usb口就可以被识别为一个u盘,直接采用拖拽的方式复制,作为程序下载的方式使用。
开发板的基本参数如下:
- STM32微控制器,采用LQFP64封装
- Arduino Uno R3连接
- STMicroelectronics Morpho扩展排针,用于全面访问所有STM32 I/O
- 板载ST-LINK/V2-1调试器/编程器,采用SWD连接器
- 选择模式开关,可使用套件作为独立ST-LINK/V2-1
- 三个LED
- USB通信(LD1)、用户LED(LD2)、电源LED(LD3)
- 两个按钮:USER和RESET
- 受各种集成开发环境(IDE)支持,如IAR、Keil、基于GCC的IDE等
3.2 对于芯片的介绍在这样的开发环境下并不重要的,因为基于mbed的开发,对于硬件,基本是隐形的。
4. 把X-NUCLEO-IKS01A2插在nucleo的arduino口上,可以快速搭建这个开发平台。
|
|