微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > ARM技术讨论 > + 软件环境

+ 软件环境

时间:10-02 整理:3721RD 点击:

熟悉完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始终破解不完全,编译示例工程时一直报错.\NuLiteExEnc\NuLiteExEnc.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:\Keil\ARM\ARMCC\lib,如不增加,后面编译工程时会找不到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()这个函数没有执行完,打开函数。

  1. <div align="left"><span style="line-height: 1.7;">void AccCalibrationZ(void)</span></div><div align="left">{</div><div align="left">     signed char status;</div>
  2. <div align="left">     nvtCalACCInit();</div><div align="left">     do </div><div align="left">     {</div><div align="left">               DelayMsec(1);</div><div align="left">               rawACC[0] =Read_MPU6050_AccX();</div><div align="left">               rawACC[1] =Read_MPU6050_AccY();</div><div align="left">               rawACC[2] =Read_MPU6050_AccZ();</div><div align="left">               nvtInputSensorRawACC(rawACC);</div><div align="left">               status =nvtCalACCBufferFill(0);</div><div align="left">     }while(status==STATUS_BUFFER_NOT_FILLED);</div><div align="left">}</div>

复制代码

      稍后再研究研究。






您好,能否将这个开发板的U盘所带资料发给小弟我学习学习,最近正好在用这个芯片。邮箱496631097@qq.com。感激不尽。

您好,能否将这个开发板的U盘所带资料发给小弟我学习学习,最近正好在用这个芯片。QQ邮箱496631097。感激不尽。

提供基于ISD9160的离线语音识别方案,广泛应用于智能家居、智能小家电、智能灯领域。 文先生 13760131172 欢迎咨询!

写的不错,值得学习,希望后期解决问题后也能将解决方法贴出来。

好东西。赞一个。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top