打印

【东软载波ES32F369x简单评测】vscode和gcc的简单配置

[复制链接]
1463|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 发呆二极管 于 2021-3-15 07:18 编辑

迟来的东软载波ES32评测

因为人在国外的关系,外加最近疫情的影响,导致物流非常的慢……
年前申请了ES32的开发板,去年发空运时只要2周左右就能收到,结果这次可能是赶上快过年了,空运竟然发了1个半月,失效堪比海运了。

先说点闲话。
上海东软载波微电子,原来叫上海海尔集成电路,在青岛有办事处。作为一个青岛人,对东软还是蛮有好感的。高中的基友,上大学后学的计算机专业,那时候基友跟我吐槽他们学校有和东软合作,也不知道那家东软是不是就是东软载波……

之前有用过东软载波的产品,客户表示灵敏度很满意。有图为证~
不得不夸的是客服小哥哥非常的好沟通,当时因为急着要赶飞机,所以想发顺丰,原本以为周天休息只能周一发,没想到客服周天就安排了顺丰了,非常给力~
也感谢二姨和东软载波一起组织的这次活动,这次有幸申请ES32F3696的开发板,也希望自己今后可以充分利用这个原形开发板做方案验证吧~


首先是介绍下ES32F3696的资源,顺便与大家最熟悉的STM32F103做下比较。
ES32F3696目前共有2个子型号,这次活动的MCU型号是LQFP64封装的ES32F3696LT。
ES32F3696LT是Cortex-M3内核的,M3是个非常经典和优秀的Arm内核,96MHz的频率可以满足大部分工作场景。
引脚与STM32基本可以说是pin2pin的,熟悉STM32的工程师会非常容易上手。
512K的Flash和96K的SRAM可以说是很豪华的配置了,跑跑系统也是完全没有问题的。
宽电压支持,从2.0V~5.5V均可直接驱动,这点比STM32方便太多了。之前有一个项目,就是需要兼容3.3V和5.0V两种电压。
自带CRC、运算加速器、真随机数发生器、AES加密、DES加密等这些通常都是在M4上才能见到的运算单元。
最最最让我感兴趣的是,的ES32F3696自带USB HS PHY。这可是少见的on-chip的USB HS PHY,这点已经甩同类M3产品十条街了。
活动附赠了一个ESLINK2方便烧录和调试,而Keil和IAR里并没有ESLINK2的选项,其实ESLINK2本质是开源的CMSIS-DAP,烧录和调试的时候选择CMSIS-DAP就可以正常用。

开箱我就不做了,感觉大家晒的板子都已经看腻了哈哈
日历不错,我妈表示非常喜欢
从官网下载了sdk包(下载地址http://www.essemi.com/article/c141.html)和Keil5的ES32F396芯片PACK(下载地址http://www.essemi.com/article/c143.html)
双击mdk项目,配置烧录器,编译、下载一气呵成,非常的顺利,我就先点个灯吧~

我要夸夸东软载波的SDK和文档。
讲道理,国产单片机我也接触了不少了,能把SDK和文档做的这么全的没有几家。
大部分国产单片机厂家要么SDK只给几个demo、要么bug层出不穷、要么让你直接上ST的标准库、要么连RM手册也没有、要么就是除了DS和RM外其他手册一律没有。
而东软载波的SDK确非常全,不仅给了3个驱动库,还有非常丰富的例程,以及难得的手册。
不仅如此,现在东软载波还与rt-thread合作,在rtt里加入了对东软产品线的支持。在配套sdk的第三方组件文件夹里,就能找到rtt的例程。
SDK的驱动库包括:
1.MD,Micro Driver,微驱动,偏向于寄存器操作,执行效率最大化。
2.ALD,Abstraction Layer Driver,抽象层驱动,把常用功能再次封装了,ALD驱动同时能够为上层应用以及操作系统、文件系统等应用和系统层软件提供接口,提高移植的兼容性,把开发效率最优化。
3.BSP,Board Support Package,板级支持包,就是配套这次原型开发板对应的驱动。
除了应有的Datasheet和Reference Manual外,还有应用笔记以及对应驱动库的详细说明,任何你不知道该怎么用的软件包都有配套文档,提供的文档真是在国产厂家里难能可贵的全。
而且仔细看看各种手册,资料详细、且看不到抄袭的影子,配套的编译模板除了常见的keil和iar外,还有其他国产厂家也少有配的gcc!可以感觉出东软载波在做事上的态度和诚意!

SDK每个例程全都有配keil和iar的项目文件,只要装了对应mcu的pack后,编译下载都变得非常容易了。
但是,我个人还是更喜欢用vscode和gcc的。先不说keil和iar都是收费软件,就功能来说,iar我用着不是很顺手,keil的话自己连最基本的代码格式化的功能也没有(虽然可以插件),而且只能提示我觉得和盲敲代码没什么区别!
由于经常要写c、c艹、c井、py、js、ts,装太多ide真的很心累,还是统一一下比较好,而且讲道理vscode也确实是好用的。

搜了搜其他坛友的评测贴,好像基本没有用vscode做开发的,所以这里我就做一个简单的小教程,顺便说一下在配置过程中遇到的两个坑。其实用vscode做开发ES32的话,目前有两种思路,1是自己配置gcc,2是用东软载波提供的vscode插件。
我个人的话,更倾向于前者,因为灵活,且所有芯片都可以这么配置,通用性也高。
vscode的gcc配置,在本版有位大神写了教程,在这里我就不多卖弄了,仅说说在用gcc编译的时候遇到的问题好了:
下载安装arm-none-eabi的过程我就跳过了,等配置好arm-none-eabi后,在对应示例代码下有gcc的目录,在gcc目录里只需敲make然后回车即可编译项目了!
但是这里需要注意一点,官方配套的makefile是有个坑的,直接编译是会失败的,是由于或许是权限问题或许是makefile有疏漏,缺一个obj的临时目录。

如图所示,在gcc的上级目录里,新建一个obj文件夹,与gcc目录同级即可,此时再make一下,就顺利出来结果了!



再说说东软载波的vscode是如何配置项目的吧。
首先在官网下载 集成开发环境 VSCode For essemi(下载地址http://www.essemi.com/article/c52.html)
下载后安装vscode插件,安装完成后,打开vscode,会有一个E的图标

这个图标就是东软载波的vscode插件
插件有新建项目、打开项目、添加项目等功能,但是“新建项目”这个功能需要自己配置ALD或者MD驱动库的路径,相比之下比较麻烦,所以我们这里另寻捷径,通过keil和iar项目导入配置岂不更快嘛~

首先点击打开项目图标,找到对应的keil或iar项目文件,先在右下角选择文件类型,选择other project,我这里以导入keil项目为例

导入项目后,在example上右键即可编译。

不过这时候编译是肯定会报错的

虽然东软载波的vscode插件也有配一个插件的使用手册,但是讲的略粗,会遇到的问题以及详细配置都没有写,只讲了如何新建项目,而导入项目的步骤就简单一提而过了。
其实仔细看了下编译的报错代码,是比较容易排查出问题的,由于我们导入的是keil的项目,所以ES32F3696的汇编启动文件是配套keil的编译器的,但现在我们换vscode开发了,是用clang和gcc编译,所以我们需要把汇编启动文件也给换掉才行。首先删掉startup_es32f36xx.s文件

然后在startup组上右键选择添加文件

从下图所示的路径里,找到gcc用的汇编启动文件

换掉启动文件再编译还是会报错的,原因是东软载波提供的vscode插件在倒入项目的时候还是多少有点小bug的,并没有把宏定义也导入,所以在这里我们要在example上右键属性

切换到最后一页“编译选项”,并在宏定义这一栏填入ES32F36xx

修改完成后,要记得点击右下角的“保存编译配置”按钮

至此,重新编译的时候就会提示编译成功了。



总的来说,我对这次活动是超满意的。
不仅仅是芯片自身复合我的需求,而且东软载波提供的资料也是非常的全。
这个帖子对我来说,其实并不是活动的结束,而是意味着新的开始。


顺便说一句,在看东软载波提供的资料中,有提到RISC-V架构的32位MCU,其实我是非常期待东软载波今后能出一款和现在ES32F3696类似pin2pin的RISC-V架构新型号,虽说arm的授权费平摊下来可能就便宜很多,但还是希望东软载波能设计一款完全自主知识产权的RISC-V 32位MCU来替代ARM……
期待东软载波今后的新品!



使用特权

评论回复

相关帖子

沙发
qiangtech| | 2021-3-15 11:49 | 只看该作者
楼主评测得很详细啊。

使用特权

评论回复
板凳
copower| | 2021-3-17 10:47 | 只看该作者
为什么目前国产新型号的ARM一出来就比RISC-V便宜?而且RISC-V谁都可以说完全自主知识产权吗?
目前已经能买到的RISC-V全都比新款国产兼容ARM贵。不过东软载波支持VS Code这点非常给力。非常赞。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

189

帖子

0

粉丝