打印
[MM32生态]

【EV Board (MM32L0136C7P)测评】+评测之一_开发工具和使用体验

[复制链接]
1293|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhanzr21|  楼主 | 2022-11-26 12:42 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 zhanzr21 于 2022-11-26 12:46 编辑

#申请原创#为这个板子写的第一篇评测, 记录从拿到板子到配置开发环境, 创建简单工程, 直到下载第一个程序过程.

这个贴子中有一些吐槽, 作者本意是和灵动官方的工程师探讨, 并不是想故意”黑”哪个板子或哪个芯片.惯例先上图吧,




因为不是摄影比赛, 所以也没有上原始的高清图, 大家凑和看看.板子外形没有啥好评论的, 中规中矩. 主要还是看功能和开发体验.

下面开始准备开发环境, 板子自己没有带调试器, 需外接调试器和电源就可以了, 实验中直接用调试器的电源对板子也可以供电, 不用单独插那个MicroUSB的电源线. 不过这肯定不规范.

软件开发, 首先准备设备驱动支持包. 作者本人使用Keil MDK 5.36.于是开始找对应的设备支持包. 首先在灵动的网站上找到了一个应用手册,按照这个手册来的, 发现坑比较多.

这个手册给了三种方法, 实验中全部没有成功,虽然最后就在下载应用手册的旁边找到了需要的Keil Pack, 不过还是把其中的经历记录下,希望官方工程师做出相应的修复, 要么修复文档,要么修复网站.

上述应用笔记推荐的第一种方法, 就是通过Keil软件本身的包管理器来下载, 这个其实也是本人一向推荐的方法, 最直接明了,理论上是”最佳实践”, 实际情况下因为灵动官方没有上传相应的软件包,导致这个方法没有走通.

这是本人MDK版本, 5.36,比较新,所以不认为是版本原因.

在包管理器中没有找到MM32L0136C7P对应的软件包, 应该是厂商没有上传, 顺便测试了下另外还有两个其他两个包无法下载,原因不明.

上述应用笔记推荐的第二种方法,是去Keil网站去下载回来手动安装.本人认为第一种方法如果不可行, 第二种方法肯定也行不通, 因为从包管理器和网站下载是读取的同一个数据源. 实际情况验证了作者的推断. 该网站页面上的内容和Keil包管理器内的内容完全一致, 没有MM32L0136C7P对应的软件包.


应用笔记中提供的第三种方法是到提供的一个网址上去下载软件包.
这个更离谱, 打开直接给你翻白眼.

用了应用笔记中的例子连接,点开是404错误.

最后只好到下载这个应用笔记的页面去找, 这次还好, 找到了.

下载解压, 发现要找的软件包.

点击安装,一路next.

现在来创建一个最简单的工程,用工程向导,选这几个组件,来个先进的流水灯实验以验证硬件软件开发环境.


之后点击按钮进行build,BANG的一声.下面看第一个错误:

然来是官方软件包提供的启动文件有误, 也不知道发布前怎么测试的:定义异常向量和默认向量处理函数的符号没有对应上.
__Vectors       DCD     |Image$ARM_LIB_STACK$ZI$Limit|                       ;         Top of Stack
                DCD     Reset_Handler                                           ;  -15    Reset
                DCD     NMI_Handler                                             ;  -14    NMI
                DCD     Hardwarefault_Handler                                   ;  -13    Hardwarefault
                DCD     0                                                       ;  -12    Reserved
                DCD     0                                                       ;  -11    Reserved
                DCD     0                                                       ;  -10    Reserved
                DCD     0                                                       ;  -9    Reserved
                DCD     0                                                       ;  -8    Reserved
                DCD     0                                                       ;  -7    Reserved
                DCD     0                                                       ;  -6    Reserved
                DCD     SVCall_Handler                                          ;  -5    SVCall
HardFault_Handler\
                PROC
                EXPORT  HardFault_Handler          [WEAK]
                B       .
                ENDP
SVC_Handler     PROC
                EXPORT  SVC_Handler                [WEAK]
                B       .
                ENDP
修复这个简单, 改成一致就好了.
再来build,BANG的一声, 来看第二个错误:

看了下是初始栈顶没有定义导致的错误.
; Vector Table Mapped to Address 0 at Reset
                AREA    RESET, DATA, READONLY
                EXPORT  __Vectors
                EXPORT  __Vectors_End
                EXPORT  __Vectors_Size
                IMPORT  |Image$ARM_LIB_STACK$ZI$Limit|

__Vectors       DCD     |Image$ARM_LIB_STACK$ZI$Limit|                       ;         Top of Stack
                DCD     Reset_Handler                                           ;  -15    Reset
                DCD     NMI_Handler                                             ;  -14    NMI
                DCD     HardFault_Handler                                   ;  -13    Hardwarefault  
这个有点无厘头, 其它厂家的启动文件中就顺便把stack,heap的大小定义了, 虽不是最合理的做法, 却已经约定俗成, 本人的意见是继续沿用.
但这个是芯片厂商的选择权利, 我们只能去适应.
于是参考灵动官方的例子工程, 另外配置了一个自定义连接脚本.

连接脚本可以用文本编辑, 也可以在Keil界面进行图形化配置, 本人倾向后者.

这下终于build通过了, 下载也可以了.

这板子上手的经历实在是有点崎岖, 强烈呼吁厂商提升开发体验. 第一篇评测贴到此为止, 下篇再见!

使用特权

评论回复
沙发
mnynt121| | 2022-12-15 10:20 | 只看该作者
MM32L0136C7P的性能怎么样

使用特权

评论回复
板凳
biechedan| | 2022-12-15 11:07 | 只看该作者
MM32L0136C7P支持哪些下载器?

使用特权

评论回复
地板
hilahope| | 2022-12-15 13:23 | 只看该作者
不都是keil的开发吗?              

使用特权

评论回复
5
zhanzr21|  楼主 | 2022-12-16 13:53 | 只看该作者
hilahope 发表于 2022-12-15 13:23
不都是keil的开发吗?

是用Keil的

后来问了灵动的工程师说上面这种直接DevicePack的驱动代码不再维护,以MindSDK为准.

使用特权

评论回复
6
单片小菜| | 2023-1-29 17:00 | 只看该作者
这个太棒了,很棒的, 期待后续

使用特权

评论回复
7
robertesth| | 2023-2-2 15:41 | 只看该作者
MM32L系列MCU CAN不支持DMA,支持硬件重发功能。

使用特权

评论回复
8
wilhelmina2| | 2023-2-4 09:51 | 只看该作者
MM32L0136C7P功耗多少

使用特权

评论回复
9
houjiakai| | 2023-2-4 10:42 | 只看该作者
MM32L系列低功耗特性就比较适合

使用特权

评论回复
10
modesty3jonah| | 2023-2-4 11:03 | 只看该作者
mm32是车规级的mcu吗?               

使用特权

评论回复
11
ingramward| | 2023-2-4 13:02 | 只看该作者
MM32L的ADC快速采样误差是多少?

使用特权

评论回复
12
juliestephen| | 2023-2-4 16:16 | 只看该作者
MM32系列MCU支持哪些通信协议?

使用特权

评论回复
13
houjiakai| | 2023-2-4 17:46 | 只看该作者
mm32有哪些封装?               

使用特权

评论回复
14
zhanzr21|  楼主 | 2023-2-6 10:41 | 只看该作者
mnynt121 发表于 2022-12-15 10:20
MM32L0136C7P的性能怎么样

专门做的低功耗应用的,性能不是卖点

使用特权

评论回复
15
zhanzr21|  楼主 | 2023-2-6 10:42 | 只看该作者
wilhelmina2 发表于 2023-2-4 09:51
MM32L0136C7P功耗多少

这个具体参数就去看数据手册吧

使用特权

评论回复
16
zhanzr21|  楼主 | 2023-2-6 10:42 | 只看该作者

这个具体参数就去看数据手册吧

使用特权

评论回复
17
zhanzr21|  楼主 | 2023-2-6 10:42 | 只看该作者
juliestephen 发表于 2023-2-4 16:16
MM32系列MCU支持哪些通信协议?

这个具体参数就去看数据手册吧

使用特权

评论回复
18
zhanzr21|  楼主 | 2023-2-6 10:42 | 只看该作者
ingramward 发表于 2023-2-4 13:02
MM32L的ADC快速采样误差是多少?

这个具体参数就去看数据手册吧

使用特权

评论回复
19
zhanzr21|  楼主 | 2023-2-6 10:43 | 只看该作者
modesty3jonah 发表于 2023-2-4 11:03
mm32是车规级的mcu吗?

不是,也不需要是.主要面向遥控器之类的产品

使用特权

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

本版积分规则

个人签名:每天都進步

91

主题

1013

帖子

34

粉丝