打印
[PIC32/SAM]

这个库跟Harmony3什么关系?此贴有硬菜!值得一看。

[复制链接]
10584|26
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
bear1|  楼主 | 2020-4-30 11:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 bear1 于 2020-5-13 13:13 编辑

https://github.com/atmelcorp/atmel-software-package
这个库跟Harmony3什么关系?

使用特权

评论回复
沙发
bear1|  楼主 | 2020-5-6 10:56 | 只看该作者
会被Harmony3取代吗?

使用特权

评论回复
板凳
bear1|  楼主 | 2020-5-6 17:39 | 只看该作者
感觉Microchip的库多种多样,极其混乱,毫无兼容性和继承性。计划放弃Microchip芯片!

使用特权

评论回复
地板
magicmcu| | 2020-5-7 13:29 | 只看该作者
强烈推荐您使用harmony3,这个是microchip新推出的32位MCU统一软件平台。支持的芯片包括了SAM,PIC32,还有未来将要推出的新产品的framework。还有大量自有的软件栈,比如USB,TCP/IP,Audio等等。
里面还含有大量的例程以及丰富的文档。
softpack 是atmel在并购以前开发的一套framework。
Harmony3的git,https://github.com/Microchip-MPLAB-Harmony
这里还有一些Harmony3的中文文档:
http://www.microchip.com.cn/newc ... ;a=index&id=172

使用特权

评论回复
5
这个库是很老的库了,还是ATMEL被Microchip收购之前的东西。
现在Microchip不管是基于ARM核还是基于MIPS核的32位产品,都可以在MPLAB Harmony3 中找到对应的支持。

打个简单的比方,这个ATMEL Software Package跟Harmony3的关系,你可以理解为Win XP和Win10的对比,Win XP虽然还可以用,但是微软已经没有针对XP的各种补丁和Hotfix,而Win10则是一直保持更新。

而ASF也是一样,Microchip已经停止向ASF里面添加新器件的支持和bugfix,而Harmony3则会全面的支持所有的Microchip的32位MCU。

ASF=ATMEL Software Framework,跟这边的Atmel-Software-package是一个东西。

使用特权

评论回复
6
bear1|  楼主 | 2020-5-9 13:57 | 只看该作者
本帖最后由 bear1 于 2020-5-9 15:32 编辑
传说中的**灰哥 发表于 2020-5-8 12:11
这个库是很老的库了,还是ATMEL被Microchip收购之前的东西。
现在Microchip不管是基于ARM核还是基于MIPS核 ...

首先感谢楼上几位的回答,下面我们来探讨一下:

/*** LED Macros for LED1 ***/
#define LED1_Toggle() do { PIOB_REGS->PIO_MSKR = (1<<5); (PIOB_REGS->PIO_ODSR ^= (1<<5)); } while (0)
#define LED1_Get() ((PIOB_REGS->PIO_PDSR >> 5) & 0x1)
#define LED1_On() (PIOB_REGS->PIO_CODR = (1<<5))
#define LED1_Off() (PIOB_REGS->PIO_SODR = (1<<5))
/*** LED Macros for LED_RED ***/
#define LED_RED_Toggle() do { PIOB_REGS->PIO_MSKR = (1<<6); (PIOB_REGS->PIO_ODSR ^= (1<<6)); } while (0)
#define LED_RED_Get() ((PIOB_REGS->PIO_PDSR >> 6) & 0x1)
#define LED_RED_On() (PIOB_REGS->PIO_CODR = (1<<6))
#define LED_RED_Off() (PIOB_REGS->PIO_SODR = (1<<6))
/*** LED Macros for LED_BLUE ***/
#define LED_BLUE_Toggle() do { PIOB_REGS->PIO_MSKR = (1<<0); (PIOB_REGS->PIO_ODSR ^= (1<<0)); } while (0)
#define LED_BLUE_Get() ((PIOB_REGS->PIO_PDSR >> 0) & 0x1)
#define LED_BLUE_On() (PIOB_REGS->PIO_CODR = (1<<0))
#define LED_BLUE_Off() (PIOB_REGS->PIO_SODR = (1<<0))
/*** SWITCH Macros for PB_USER ***/
#define PB_USER_Get() ((PIOB_REGS->PIO_PDSR >> 9) & 0x1)
#define PB_USER_STATE_PRESSED 0
#define PB_USER_STATE_RELEASED 1
/*** VBUS Macros for VBUS_AH ***/
#define VBUS_AH_PowerEnable() (PIOB_REGS->PIO_SODR = (1<<10))
#define VBUS_AH_PowerDisable() (PIOB_REGS->PIO_CODR = (1<<10))

Harmony3真的先进吗?
上面代码是Harmony3的LED(IO口操作),来自sam_a5d2_xult的例程,怎么感觉比Atmel-Software-package落后一万年?
难道Harmony3还处于撸寄存器的石器时代?

而且搜遍整个Harmony3,居然没找到act8865电源芯片的驱动,Harmony3到底是什么“高科技”??



使用特权

评论回复
评论
MianQi 2021-10-21 14:40 回复TA
操作寄存器是AVR系列的一贯特色,也可能是微芯愿意收购Atmel的理由之一。 
7
magicmcu| | 2020-5-12 09:33 | 只看该作者
bear1 发表于 2020-5-9 13:57
首先感谢楼上几位的回答,下面我们来探讨一下:

/*** LED Macros for LED1 ***/

在嵌入式,效率也是很大的优先考虑因素。封装层次越多只会带来更大的额外开销和时间损耗。而且不管是MCU还是MPU,最后的操作都是寄存器操作。
Harmony3除了贴近硬件的高效层次plib开发,还可以基于抽象层次更高,功能更丰富的Driver层开发。
基于Driver层次开发的应用,可以在Harmony3支持的大部分芯片之间无缝切换。

使用特权

评论回复
8
scottmaxwell| | 2020-5-12 22:19 | 只看该作者
bear1 发表于 2020-5-9 13:57
首先感谢楼上几位的回答,下面我们来探讨一下:

/*** LED Macros for LED1 ***/

看到  "难道Harmony3还处于撸寄存器的石器时代“基本知道lz还停留在传统的库函数级别

使用特权

评论回复
9
scottmaxwell| | 2020-5-12 22:25 | 只看该作者
做了15年的嵌入式开发  Harmony v3是最具潜力的开发方式,理念非常的先进,不过现在还是要吐槽一下bug还真的很多

使用特权

评论回复
10
bear1|  楼主 | 2020-5-13 11:04 | 只看该作者
scottmaxwell 发表于 2020-5-12 22:25
做了15年的嵌入式开发  Harmony v3是最具潜力的开发方式,理念非常的先进,不过现在还是要吐槽一下bug还真 ...

嗯,希望Harmony v3 团队 多招兵买马,多加油!!
尤其对于Atmel ATSAMA5D27的支持,要加足油门。

使用特权

评论回复
11
bear1|  楼主 | 2020-5-13 13:15 | 只看该作者
scottmaxwell 发表于 2020-5-12 22:19
看到  "难道Harmony3还处于撸寄存器的石器时代“基本知道lz还停留在传统的库函数级别 ...

库函数不是当今最先进的方式吗? 比如st

使用特权

评论回复
12
bear1|  楼主 | 2020-5-13 13:15 | 只看该作者
magicmcu 发表于 2020-5-12 09:33
在嵌入式,效率也是很大的优先考虑因素。封装层次越多只会带来更大的额外开销和时间损耗。而且不管是MCU ...

谢谢!Harmony3目前对Atmel ATSAMA5D27支持的程度怎样?

使用特权

评论回复
13
magicmcu| | 2020-5-14 10:35 | 只看该作者
bear1 发表于 2020-5-13 13:15
谢谢!Harmony3目前对Atmel ATSAMA5D27支持的程度怎样?

https://github.com/Microchip-MPL ... wiki/device_support
这里有最新的Harmony3的开发进度跟支持列表信息共参考。

使用特权

评论回复
14
shizaigaole| | 2021-10-20 22:45 | 只看该作者
例程太散乱,东一榔头西一棒槌。

给人感觉好像什么都行,就是不知道针对某一些列支持是否全面。

当前确实还是stm32cubeMX用起来方便,毕竟用户基数大,有点问题都暴露出来了。

使用特权

评论回复
15
shizaigaole| | 2021-10-20 22:53 | 只看该作者
打个比方来说,你出教程,你就以常用的samd21做个基础教程,把常见的外设使用都演示一遍,再做个freertos的演示教程。
再以cm4核心的演示一些网络,图形界面,USB之类的,这样大家一目了然。

现在的演示例程都是以某开发板硬件为例,几乎不配置,就跑起来,看起来无所不能,实际屏蔽了好多细节,
好多细节不能在配置软件里面修改,感觉就是和硬件板卡深度结合,
那用户如果用自己的板子不一样咋办?还得自己去啃代码??
那这个软件还有什么意义???

那和atmel以前出的XPLD系列自带的例程有啥区别??

用配置软件,目标就是要能配置,尽量不用去啃底层的代码

使用特权

评论回复
评论
bear1 2022-1-11 09:53 回复TA
真是一针见血!赞! 
16
shizaigaole| | 2021-10-20 23:12 | 只看该作者
其实就有一点疑问,比如网络,图形接面的驱动层,好像是和开发板绑定死的就几种硬件,常见的lan8720,83848之类都没有,
实际开发的时候,如果使用这种芯片怎么办?
比如说,图形界面,我要用外部驱动ssd1963,RA8870怎么办?

使用特权

评论回复
17
shizaigaole| | 2021-10-21 11:12 | 只看该作者
又看了一下,和开发板硬件高度绑定,高级应用的意义不大,
除非直接用开发板的方案,但是实际开发,不可能照抄开发板

使用特权

评论回复
18
Inductive| | 2021-10-23 09:27 | 只看该作者
外部图形Driver还有触摸Driver可以根据文档介绍来实现,SSD1963已经是集成好了的。网络Driver也比较简单,根据模板改一下就好了。
我们一个类似的项目已经做完了。整体来说Harmony3还是挺好用的。
https://github.com/mchpgfx/legato.docs/wiki

使用特权

评论回复
评论
bear1 2022-1-11 15:04 回复TA
用的MPLAB IDE, 用的什么编译器? XC ? 还是 GCC ? 
bear1 2022-1-11 09:29 回复TA
Harmony3,用什么编译器比较好,IAR? XC? GCC? 谢谢 
19
shizaigaole| | 2021-10-24 13:29 | 只看该作者
这两天又仔细研究了一下,发现确实集成了一些驱动模块,准备在仔细好好研究一下,
如果以后模块越来越多,确实是个好的方向。

使用特权

评论回复
20
bear1|  楼主 | 2022-1-11 16:05 | 只看该作者
shizaigaole 发表于 2021-10-24 13:29
这两天又仔细研究了一下,发现确实集成了一些驱动模块,准备在仔细好好研究一下,
如果以后模块越来越多, ...

大佬,研究得咋么样了?有什么新的心得体会?bug多不多?^_^

使用特权

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

本版积分规则

151

主题

964

帖子

1

粉丝