本帖最后由 pengee 于 2016-11-26 21:06 编辑
熟悉完ISD9160开发板的硬件后,我们接着搭建软件环境,毕竟以后是要面对软件进行各功能开发。
打开简易操作手册,可以看到需使用的工具说明。
最主要的是需要安装Keil MDK5.11+Nu-Link_Keil_Driver_V1.30.6491驱动+ NuMicro ICP Programming Tool 1.30.6491+ Nuvoton NuVoiceTool V5.02.000。 除了MDK安装包,其他的都可以在SW Code - P16-008 Oscar-NumakerPlus_Eric Yang_20160513 Tools中找到。
附一个Keil MDK5.11版本的链接(http://big1.wy119.com/mdk511.rar),内含注册机,可完全破解。前几天在同一台电脑上使用了ADS1.2,不知道是不是ADS与MDK确实不能同时安装的原因,MDK始终破解不完全,编译示例工程时一直报错.NuLiteExEncNuLiteExEnc.axf: error: L6047U: The size of this image (33760 bytes) exceeds the maximum allowed for this version of the linker,明显是没有完全破解,不能正常工作。 分别采用了以下方法:
- 卸掉ADS以及相关的所有软件;
- 安装MDK在C盘Keil文件夹;
- 破解之,可自行百度win7下安装破解MDK,最关键的是兼容模式+管理员身份运行;
- 在系统中增加环境变量名ARMCC5LIB,指向C:KeilARMARMCClib,如不增加,后面编译工程时会找不到main函数入口;
- 将Nu-Link_Keil_Driver_V1.30.6491驱动+ NuMicro ICP Programming Tool 1.30.6491+ Nuvoton NuVoice Tool V5.02.000全部安装在C:Keil文件夹中;
- 打开Oscar-NuLiteEx-PLUS工程,开发板上烧写的应该就是这个工程。
点击options for target,若驱动和库已经安装好,则自动会变换为这个,
如果没有,就选择一下ISD Database,然后选择ISD9160芯片即可。 7.编译Oscar-NuLiteEx-PLUS工程,直到出现没有错误并且程序大小也都很正常,没说啥超过限制,那就代表软件环境已经ok了!
8.重新把板子连接到电脑上,点击Debug按钮,会开心的发现板子上的调试LED灯亮了起来,程序load了进去,顺利进入了main函数
9.稍微有点问题的是在此工程下点击Flash->Download烧写程序,会发现OLED不能正常显示温湿度、红外等传感信息,而是死在了while循环之前,而调试模式下Debug时却不出现这个问题。
不知道while循环前到底哪个函数没有执行,就挨个试,最后发现是AccCalibrationZ()这个函数没有执行完,打开函数。
void AccCalibrationZ(void) { signed char status;
nvtCalACCInit(); do { DelayMsec(1); rawACC[0] =Read_MPU6050_AccX(); rawACC[1] =Read_MPU6050_AccY(); rawACC[2] =Read_MPU6050_AccZ(); nvtInputSensorRawACC(rawACC); status =nvtCalACCBufferFill(0); }while(status==STATUS_BUFFER_NOT_FILLED); }
复制代码
稍后再研究研究。
|