温馨提示:


资料下载过程中如遇在线文档打开失败的情况,建议多尝试两次。大于100MB的文件建议使用WinSCP FTP工具来下载!

压缩包文档请下载下来后再进行解压缩操作。

华芯微特开发论坛

 找回密码
 立即注册
搜索
热搜: SWM341 资料
查看: 16|回复: 0

新手搭建华芯微特单片机最小系统开发环境(Keil)

[复制链接]

1

主题

1

帖子

13

积分

新手上路

Rank: 1

积分
13
发表于 昨天 13:10 | 显示全部楼层 |阅读模式

最近搭建起SWM221的开发环境,解决了一些问题,觉得最好分享出来,避免新人踩坑。

官方会提供单片机对应的lib和pack文件,但是我遇到的最大问题是lib中的例子工程不应直接编译运行,而应该手动新建工程。
lib中的例子工程譬如GPIO中的keyLED、TIMR中的SimplTMR,编译与下载“看起来”没有问题,但就是无法调试,run运行也不对。
查看keil工程目录下的JLinkLog.txt是大量的Error和FALSE

T169C 017:130.940 JLINK_HasError()
T169C 017:131.078 JLINK_HasError()
T169C 017:133.269 JLINK_IsHalted()
T169C 017:134.363 - 1.166ms returns FALSE


正确的做法是要从Keil手动新建工程,选对芯片型号、添加lib中提供的基础支持.c .h .s文件、设置c编译选项和h文件路径、设置jlink debug的速度等等。
我也仔细确认了一遍lib中的例程,没看到设置有问题,但就是无法正确运行。

对于新人来说,如果同时遇到Keil版本DLL问题、Jlink driver版本问题、Jlink仿真器硬件版本问题、淘宝货质量问题,很容易陷入怀疑这、怀疑那的困境。

经过摸索,最好使用如下的软硬件环境(win7和win 10都可以):

{
Keil MDK 5.30
Jlink driver V6.70,  Keil 5.30自带的Jlink 6.70e,最好自行再安装一个Jlink V6.70(segger.cn),这样有一系列工具可以帮助诊断,JFlash也可以下载程序
ARM仿真器 V9 最好带转接板,  淘宝上的货质量很参差,最好买100块钱以上企业版。我买到过死活连不上华芯mcu但是能连别家mcu的。V12也可以,稍贵
}

完整的从零开始建立开发环境步骤(以SWM221为例):

1、获取或自制SWM221最小系统板;
2、准备好Keil MDK 5.30 及其破解;
3、准备好Jlink V9 ARM仿真器(淘宝店质量看运气)
4、把仿真器的SWD接口四根线接到mcu最小系统板上(VDD GND SCLK DATA)注意线序
5、获取官方Synwit.SWM32_New.0.2.3.pack 并双击安装,完成后keil就可以建立Synwit芯片的工程;
6、获取官方SWM221_MCU-240822Lib 文件,里面包含SWM221必须的底层支持文件以及各种硬件使用例子;
7、从lib里拷贝目录SWM221_StdPeriph_Driver 和 TIMR 到一个用来测试的路径下,譬如D:\syncode\,注意短路径和全英文;
8、TIMR目录中的SimplTIMR项目是一个简单的闪灯demo,我们参考其项目的文件组织格式,在D:\syncode\新建一个test目录;
9、在test目录中根据《UM1702 KEIL工程建立说明.pdf》新建工程,工程的内容则参考SimplTIMR,其中APP目录中的main.c可以直接拷贝过来,CSL\StdPD 和CSL\CMSIS的相关文件我选择手动添加。完成后test项目的文件组织看起来与SimplTIMR工程一样;
10、打开Target Option设置窗口,手动选择target选项页右上角的default compiler version5,手动勾选c\c++选项里的C99 Mode、手动选择debug选项页右边栏“Jlink/J-trace Cortex”并点击setttings,左侧的Max下拉选择2M Hz。第一次点进来的时候会弹出窗口要你选择mcu型号,只需选择unspecified 这一行的Cortex M0,以后就不会再弹出;
11、最好顺便点击Flash Download页里面的description确认一眼是SWM221xB;
10、对test project进行一次Build target,编译正确后进入debug模式,留意此过程中Keil右下角会有一些烧录加载程序的进度,这表明编译好的程序真正被加载到目标板上;
11、如无意外,加载完成后就切换到了调试模式,程序停留在main函数的开始位置,准备执行SystemInit()函数;
12、此时可以手动单步或多步执行程序,全速run程序可以看到最小系统板上的Led有节奏地闪烁;
13、至此开发环境建立成功,可以根据需要修改自己的程序并在板子上调试。












回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|华芯微特开发论坛

GMT+8, 2024-10-22 20:32 , Processed in 0.031961 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表