本帖最后由 发呆二极管 于 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……
期待东软载波今后的新品!
|