本帖最后由 川楠 于 2018-8-19 09:44 编辑
首先,感谢发烧友william hill官网
提供的这次试用机会,也是这次试用让我认识了SWM320.
由于我一直从事单片机相关的设计工作,硬件设计软件编程自己都能搞定,从2013年起,使用的都是ST的单片机,很少用其他品牌的。
收到板卡也有一段时间了,通过这段时间的学习,我发现SWM320单片表现还是真的不错,不论是从硬件设计,还是软件开发环境,都和ST差不多,KEIL4/5完全能搞定,JLINK能调试,M4的内核,只买STM32F1的价格,还有什么不满足的呢?
从ST到SWM320过渡,很平滑完全没有任何问题,这款单片机真的是性价比超高。唯一和ST的差距是资源的配套上面,毕竟这是一款国产IC,没有太多人的关注。但是最基本的片上外设API接口和底层驱动,以及UCOS、FreeRTOS、RT-Thread、RTX等常用的RTOS,华芯微特还都为我们提前做好了移植,详见SWM320_Lib压缩包。
一、开发环境搭建
这部分的流程,华芯微特已经有官方文档,按照《SYNWIT开发环境的搭建与芯片使用方法.pdf》文档直接搭建,我个人将KEIL4和Keil5都搭建好了。
二、程序编写
参考固件包SWM320_Lib压缩包,先做一个简单的程序:点灯。
直接打开:SWM320_LibGPIOKeyLED_Atomic工程,编译下载,发现怎么弄,LED灯不亮,对比原理图,得出结论,这板子和SWM320_Lib包中引脚不一定匹配,所以大家使用的时候还是好好的核对一下(唉,32的官方板子用多了)。
int main(void)
{
SystemInit();
GPIO_Init(GPIOA,PIN4, 0, 1, 0); //ÊäÈ룬ÉÏÀʹÄÜ£¬½ÓKEY
GPIO_Init(GPIOA,PIN10, 1, 0, 0); //Êä³ö£¬½ÓLED
while(1==1)
{
if(GPIO_GetBit(GPIOA,PIN4) == 0) //°´¼ü±»°´ÏÂ
{
GPIO_AtomicSetBit(GPIOA,PIN10);
}
else
{
GPIO_AtomicClrBit(GPIOA,PIN10);
}
}
}
就这样程序重新烧录下去,就可以了运行。还是很简单。
===============================================
我就继续的试了下SWM320_LibMiddlewareFreeRTOS
还是要改下LED管脚,万幸的是串口还是OK,烧录下去没有问题,FreeRTOS测试通过。
================================================
不死心的我,还想试试其他的,这板子板子的资源不是很多,后面我们也要做RT-Thread的Python,所以还是试试RT-Thread比较好。
打开SWM320_LibMiddlewareRT-Thread
这个工程的ADC把我们的LED占了,所以改LED的端口是没有效果的。
烧录下去,硬件仿真一下,程序运行OK测试完成了。
三、我的感想
经过一番对比,我SWM320虽然在库的开发上,采用底层采用寄存器的开发方式,和我们经常使用的CubeMX相比,肯定不占优势,但也不是不能接受。
SWM32的GPIO视乎可以交叉映射(后面需要验证一下),感觉很牛叉,这功能比ST要方便很多。君不见,为了画通一根串口线,我设计布局时是看了又看。 最后要说SWM320的价格了,真的很便宜。如果在在项目中,STM和SWM都可以胜任的话,我个人更倾向于SWM。
四、相关资料
我将我整理收集的资料分享大家。
链接:https://pan.baidu.com/s/1R357esKQorr4pNlB1XXHMg密码:m8yl
华芯微特技术支持群492524359
关于SWM320的问题都可以在群里问,群里面有官方的工程师可以提供关于芯片设计的技术支持,当然也有共享的相关资料。
最后要分享的是就是华芯微特SWM320VET7开发板和micropython的相关资料(这部分的资料后面我们将会用到):
链接:https://pan.baidu.com/s/1aoxm4MWiUxyzVtmBT8y5HA密码:0zzn
micropython快速指南:
https://www.rt-thread.org/document/site/rtthread-development-guide/micropython/docs/01-Getting_Started_Guide/
后面将会主要进行RTT和Python的测试