【国民技术N32G457评测】二、基础工程测评及模板工程搭建
<p><span style="font-size:20px;"><strong>【例程测试】</strong></span></p><p>前面讲到,我的环境不能适配好板载的DAP调试工具,所以之后的开发只能采用外接J-Link来做了,不能用的原因可能是电脑之前使用和安装了不同DAP 的驱动,导致有了冲突,暂时不折腾了。在官方库例程基础上简单测评了 led blink 、 key exti、printf 几个例程,总体而言库例程格式写的比较规范,注释也比较清晰,还有 readme说明 ,而且与ST的标准库兼容度极高,适合做国产替代的迁移,极大方便了工程师也降低了学习成本。另外有注意到,在应用层的 .h文件中,也是有做兼容 c++程序的考虑,使用到以下处理代码:</p>
<pre>
<code class="language-cpp">#ifdef __cplusplus
extern "C" {
…………………………
…………………………
#endif</code></pre>
<p> </p>
<p>在测试Key_Exti 例程时,发现程序中用到 NVIC 去配置中断通道,但是整体没有将NVIC 的优先级去做好分组,在M4内核中有如下定义:</p>
<p> 建议使用到中断的地方在程序初始化时要配置好抢占和相应优先级别,特别是使用到 RTOS 的框架场合中。使用 NVIC_PriorityGroupConfig 库函数完成,且一旦配置好程序运行过程中不能再去改写该配置。</p>
<p>另外,发现官方例程没有适配好本次测评的开发板板级支持驱动程序,一个闪灯和按键功能也都是需要自己去改写对应的端口的,建议后续官方能做好完善,增加板级BSP驱动程序。<br />
在使用J-Link调试时候容易崩掉,可能与电脑内存和其它性能有关,可尝试先将断点去除,复位后再退出debug 。</p>
<p>之前评测GD和华大的芯片时都还要自己去移植 coremark 1.1 ,国民的例程包中就包含了跑分例程,点赞 <img height="48" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/wanwan88.gif" width="59" /> 于是想看看这颗芯片的跑分情况,测试结果为 :</p>
<p><strong>关闭高速指令缓冲 ICache(161.203654 @ 144MHz) 和 打开 ICache(313.176919 @ 144MHz)</strong></p>
<p>可以通过该链接查看<a href="http://https://www.eembc.org/coremark/scores.php" target="_blank"> coremark 跑分榜单 </a> !</p>
<p><br />
<span style="font-size:20px;"><strong>【模板工程搭建】</strong></span></p>
<p><strong>step 1:</strong>在全英文路径下创建模板工程根目录,<strong> “N32G45x_Firmware_Template” ,</strong>目录包含以下文件夹:</p>
<p> <strong> step 2:</strong>往根目录下的文件夹中添加官方对应的子文件夹和文件, Doc 中主要包括一些参考说明文档和工程说明 , Libraries 中主要包含了 CMSIS 相关启动文件和M4内核相关的 .h 文件、以及 国民技术提供的 标准硬件抽象层driver库,还有其它的一些算法库 ,Project 中包括了 MDK工程文件和输出相关的文件目录,Thirdparty 中包括了 SEGGER 相关的调试文件,User 中包含了 main入口函数以及使用到的相关外设驱动,kill_output.bat 用于打包工程时候清除一些中间文件。</p>
<p></p>
<p><strong> step 3:</strong>打开 Project.uvprojx 工程文件,修改好工程 target 中包含的文件目录以及添加相关的对应文件,目录结构如下:</p>
<p> <strong>step 4:</strong>打开Options for Target 对工程进行配置,如下:</p>
<p></p>
<p> <strong>step 5:</strong>打开Options for Target - C/C++ 对工程文件路径以及预定义进行配置,如下:</p>
<p> </p>
<p> <strong>step 6:</strong>根据想要实现的功能重新修改 main.c ,如下:</p>
<p> </p>
<p> <strong>step 7:</strong>编译、烧录运行,如下:</p>
<p> 最后双击 kill_output.bat 运行清除文件脚本命令,在模板功能说明.txt 中描述好程序实现的功能,再打包整个工程,到这里一个模板功能已经创建成功了,之后的程序将以此为基础去做拓展。</p>
<p>详细可参见附件内容,欢迎指正!<img height="48" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/wanwan79.gif" width="52" /></p>
<p><br />
<br />
</p>
<p>谢谢分享</p>
<p>感谢分享</p>
谢谢楼主 <p>多谢分享!</p>
页:
[1]