32010|241

6399

帖子

8

TA的资源

管理员

楼主
 

点评《与Atmel SAM D21的相遇、相识、相知》,抢楼赢好礼啦! [复制链接]

   关闭
抢楼 * 本帖为抢楼帖,欢迎抢楼! 
截止楼层:800 
活动时间:即日起——2月10日
活动详情:https://www.eeworld.com.cn/huodong/201501_Atmel_SAM_D21/


如何参与?
Step1. 点击
>>活动页面,下载《与Atmel SAM D21/R21的相遇、相识、相知(上)——Atmel SAM D21 Xplained Pro 开发板评测锦集》,仔细阅读;
Step2. 填信息、写评论:
    1、通过活动页面点击"立即点评"按钮,确认个人信息;
    2、在此跟帖写评论

奖品设置:

1、根据对电子书的评论中将选出10名优秀点评奖,分别为一等奖美的智能电压力锅(一名);二等奖纽曼移动硬盘120G(三名);三等奖倍斯特充电宝(六名);

2、凡完整参与整个活动:下载——认真评论(跟帖灌水视为放弃获奖资格),将有机会获得U+悠佳方型耐热玻璃保鲜盒或30元话费(随机预埋)。

3、活动结束一周内,管理员公开压缩包密码,对应楼层获奖。


注意事项:
1、每个人至多拥有三次抢楼机会,且须每次评论内容不同。活动谢绝使用马甲、小号,一经发现,取消获奖资格。
2、参与抢楼的单条评论不得少于30字,且具有实质内容,灌水帖、抄袭他人的视为自动放弃获奖资格。
3、若优秀点评奖与抢楼奖同时获得,以获得优秀点评奖为准。
4、若预埋楼层不符合获奖要求,则在该楼层基础上+20作为新的获奖楼层。



Atmel电子书评论活动预埋楼层.rar

2.79 KB, 下载次数: 89

此帖出自单片机论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身

最新回复

最后说说对该电子书的期许吧。书中涉及不同的用户层次,从入门到实战,或多或少均有涉及,但感觉深度不够,基本都停留在板子的简单体验和测试,说句大家可能不爱听的,读完之后我感觉不到这款处理器的优势所在,因为缺乏针对性的测评和对比,应用实例都是用其它处理器也能实现的案子,甚至8位单片机也能完全胜任。或许是活动的时间有限,参与的时间也有限,所以也难以拿出更有深度的分享来,可以理解。 当然,书中也有很多实用的经验分享,比如驱动的安装、AS环境的搭建、故障的修复等。 如果将来丰富了分享的素材,或许就可以按照外设进行目录的编制,就像厂商的器件用户手册那样,根据不同的模块进行评测和应用设计,这样的资料我想可能能量场更大。算是一个愿望吧。 不管怎样,还是感谢网友和论坛的辛勤劳动和无私分享!  详情 回复 发表于 2015-2-10 23:40
点赞 关注
个人签名微信搜索公众号“EEWORLDBBS”快去添加关注吧!
 

回复
举报

638

帖子

0

TA的资源

一粒金砂(高级)

沙发
 
之前申请过ATMEL的板子可惜运气 不怎么好,看到网友写的文章写的挺好。
1、个人觉得atmel的这款芯片如果拼功耗的话肯定搞不定TI的毕竟人家靠的就是低功耗嘛。
2、然后看文章说Atmel QTouch®外设触摸控制器 — 可为按钮、滑条、滑轮和近距离感应提供内置的硬件支持,并支持互电容式和自电容式触摸,而无需外部元件。它具有卓越的灵敏度、耐噪性以及自校准功能,任何用户都可以调整余量。感觉挺好的毕竟以后触摸屏会应用的越来越广,好行TI的只提供了一些彩屏接口说到外设触摸屏控制器我还是第一次在看到在单片机中集成有。
3、六个(SAM D21J 和 SAM D21G;SAM D21E 中为四个)灵活的串行通信模块 (SERCOM)这个也挺好的。
4、独有的事件触发系统(EventSystem)在实时应用中为功耗敏感的设计提供了强有力的保障。和TI差不多吧。
剩下的至于丰富的外设之类滴 这个应该是单片机的趋势。没啥说滴。然后就是例程之类的了  个人感觉TI这方面做的挺好的各种例子。而ATMEL本人没怎么接触过所以没怎么查过代码软件嘛 也没用过所以不做过多点评。
       总之希望各家公司相互竞争。相互学习,共同进步。
此帖出自单片机论坛
 
 

回复

524

帖子

0

TA的资源

一粒金砂(高级)

板凳
 
支持,不过立即点评的链接不对吧
此帖出自单片机论坛
 
 
 

回复

25

帖子

0

TA的资源

一粒金砂(初级)

4
 
看完“开发板评测锦集”这本PDF书籍后,对Atmel SAM D21/R21的芯片资源以及开发流程有一个清晰的认识,文章首先介绍了Atmel SAM D21/R21系列处理器的高速、低功耗、丰富外设等特点以及典型的应用场合,Step by step地操作Atmel Studio对Atmel SAM D21/R21进行芯片内部外设资源的实例开发,并提出开发过程应该的留意的注意事项,加速了工程师对这系列处理器选型以及开发时间。
此帖出自单片机论坛
 
个人签名Good Job!
 
 

回复

551

帖子

181

TA的资源

纯净的硅(初级)

5
 
看了Atmel SAM D21内部的功能模块还是比较复杂,有些比较有自己的特点,区别于其他的MCU,支持支持!
此帖出自单片机论坛
 
 
 

回复

324

帖子

123

TA的资源

一粒金砂(高级)

6
 
Atmel SAM D21作为Atmel主推的一款评估板,板载资源丰富。基于Arm cortex M0内核,实现低成本和低功耗,感觉非常值得一玩。上次错过了D21的申请,希望以后还有机会使用。
此帖出自单片机论坛
 
 
 

回复

324

帖子

123

TA的资源

一粒金砂(高级)

7
 
粗略看了一下书中的内容,集合了网友的智慧,将前期试用的心得都收录起来,非常有利于新手快速上手。不仅利于公司推广这个产品,也利于新手快速用起来这个产品,这本电子书出的很及时啊。
此帖出自单片机论坛
 
 
 

回复

324

帖子

123

TA的资源

一粒金砂(高级)

8
 
相较于之前Atmel的产品,SAM D21明显有了很大的改进。这些改进不仅体现在芯片的资源方面,感觉产品发展的理念也和现在的主流比较契合,再也不是之前保守的样子。低端市场以M0作为内核应该有很大的竞争优势。
此帖出自单片机论坛
 
 
 

回复

419

帖子

9

TA的资源

纯净的硅(初级)

9
 
Atmel QTouch®外设触摸控制器 — 可为按钮、滑条、滑轮和近距离感应提供内置的硬件支持,并支持互电容式和自电容式触摸,而无需外部元件。它具有卓越的灵敏度、耐噪性以及自校准功能,任何用户都可以调整余量。感觉挺好的毕竟以后触摸屏会应用的越来越广、六个(SAM D21J 和 SAM D21G;SAM D21E 中为四个)灵活的串行通信模块 (SERCOM)这个也挺好的。独有的事件触发系统(EventSystem)在实时应用中为功耗敏感的设计提供了强有力的保障。剩下的至于丰富的外设之类滴 这个应该是单片机的趋势。
此帖出自单片机论坛
 
 
 

回复

158

帖子

0

TA的资源

一粒金砂(中级)

10
 
Atmel的产品以前用过几次,对于SAM D21的评估板Atmel真是做了不少心思,对于Cortex-M0市场的又添了一款新星的片子,各种特性也都很诱人,低功耗、外设灵活性、DMA、高管脚利用率、全速USB、Atmel QTouch、可扩展性,有机会的话可以搞一块玩玩。。。
此帖出自单片机论坛
 
 
 

回复

1万

帖子

16

TA的资源

版主

11
 
本帖最后由 ddllxxrr 于 2015-1-13 09:07 编辑

今天我一口气读完了这个资料,觉得是个很好的指导书。有些东西就象每一次接触一样。
对以前是一个补充。

比如以下知识点:

全速 USB — SAM D21 既支持 USB 嵌入式主机又支持 USB 设备模式,而 SAM D11 支持全
速 USB 设备模式。使用内部 RC 振荡器时,在设备模式下支持全速 USB,从而降低了 BOM 成本和
设计复杂性。

高级通信总线接口方面,内置的嵌入式全速USB2.0 模块支持主机和设备两种模式,配备
96MHz 音频流分数PLL 的双通道I2S 接口。

貌似简单的布板竟然使用了4 层布板的工艺。60mm x 100mm 的板子在正面中心位置
嵌入了一颗SAMD21 J18A 的微控制器芯片

模拟外设方面,集成1 个20 通道的16-bit 高精度ADC 模拟/ 数字转换器,1 个12-bit 的DAC
数字/ 模拟转换器,2 个模拟比较器。


我就好像第一次看过一样,以前在读英文资料时只是大概地看没有这么细的原固吧。


中间的用MDK写时钟程序,我觉得是这个资料中最难也是最烦索的地方,我现在也是看个一知半解。

这等留着日后慢慢消化吧。

后边的高手实践是前面的升华。我觉得是自己动手的有利参考,有着很实用的价值。


总之,写这个资料的编者,花了不少心血,给我们呈现出这么好地资料哈!!!感谢一下。也希望EEWORLD多搞些这样的活动。充实一下大家的技能。
这个资料,是入门,学习,实践的好资料。




此帖出自单片机论坛
 
个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
 
 

回复

2144

帖子

3

TA的资源

五彩晶圆(中级)

12
 
很幸运最近能试用R21的开发套件,目前已经能运行contiki了,关于移植的细节后面要好好的说说,涉及的外设还是挺多的,基本上需要结合数据手册和官方的drivers下面的quickstart就能搞定了,虽然这次我选择的开发环境是IAR而并非官方的AtmelStudio,原因只是因为这个项目有点复杂,还是用自己熟悉的开发环境好一些。不过AtmelStudio还是相当不错的一款IDE了,可以说是后面的一种趋势吧,基本上和开源界的Eclipse很像。当然不止是IDE了,还有集成的AFS开发框架,真的很不错哦,里面包含的各种插件,开发者基本上不需要太关心如何去关联这些第三方的软件包,直接在AtmelStudio中使用可视化的方式就能够把这些软件包包含到自己的项目中,我认为这在将来一定是一个趋势也是一种必然,当然了很有可能是arm的mbed或者是atmel的arduino触发的一种新的开发趋势。

说完IDE继续说AFS软件构架包,这是一个好东西,可以说是必不可少的开发利器,基本上支持atmel全系列的mcu产品和demo板子。说到板子还想提一下板子上自带的CMSIS-DAP的调试器可以说也是未来的一个趋势,在老外眼里没有什么山寨的jlink/ulink这些对他们来说是很奢侈的,当然IAR/MDK这些都是一样的。渐渐的中国这几年也会有这种保护知识产权的趋势。这种板载的调试器可以说以后是比不可少的东西,基本上现在所有的官方的评估板都有这种支持。继续说afs最好还是打开它的目录看一下,东西有点多。根目录下有针对不同mcu的目录基本上是和外设相关的,还有两个common的目录里面都是一些通用的东西,比如延时函数,stdio,一些相关的服务等。重点看一下thirdpart,这玩意很多厂家都有的最早接触的是ti的开发包中的,印象比较深刻的是有freertos,这也会是一个趋势,更多的人会去使用这种开源的os而不仅仅局限于ucos这种。截个图吧,东西就这么多了,基本上都很有用。



继续说SAMR21/SAMD21的外设吧,关于时钟部分充分考虑到低功耗,可以说是花了不少的精力去考虑如何更加合理的分配,自然让用于感觉到更加复杂,其实也不算复杂,看clock的arch和sam0\drivers\system\clock\clock_samd21_r21\clock.c文件就够了,当然等你熟悉了只需要关心SAMR21_Xplained_Pro\Board_Config\conf_clocks.h文件就可以了,基本上和stm32那套东西很像了,只是结构不太一样,不熟悉而已。
其实配置时钟到48MHz还是需要花一些时间来摸索一下的,看到有不少网友折腾过,等你折腾过就知道了
我的配置如下,大家参考下,配置到48MHz就是这么简单,修改这两个地方就好了
  1. /* DFLL closed loop mode configuration */
  2. #  define CONF_CLOCK_DFLL_SOURCE_GCLK_GENERATOR         GCLK_GENERATOR_1
  3. #  define CONF_CLOCK_DFLL_MULTIPLY_FACTOR               4
  4. #  define CONF_CLOCK_DFLL_QUICK_LOCK                    true
  5. #  define CONF_CLOCK_DFLL_TRACK_AFTER_FINE_LOCK         true
  6. #  define CONF_CLOCK_DFLL_KEEP_LOCK_ON_WAKEUP           true
  7. #  define CONF_CLOCK_DFLL_ENABLE_CHILL_CYCLE            true
  8. #  define CONF_CLOCK_DFLL_MAX_COARSE_STEP_SIZE          (0x1f / 4)
  9. #  define CONF_CLOCK_DFLL_MAX_FINE_STEP_SIZE            (0xff / 4)
复制代码


  1. /* Configure GCLK generator 0 (Main Clock) */
  2. #  define CONF_CLOCK_GCLK_0_ENABLE                      true
  3. #  define CONF_CLOCK_GCLK_0_RUN_IN_STANDBY              false
  4. #  define CONF_CLOCK_GCLK_0_CLOCK_SOURCE                SYSTEM_CLOCK_SOURCE_DFLL
  5. #  define CONF_CLOCK_GCLK_0_PRESCALER                   1
  6. #  define CONF_CLOCK_GCLK_0_OUTPUT_ENABLE               false
复制代码


继续说其他外设,关于systick恩这玩意是ARM规定的所以还是蛮通用的,基本上都是一样的,我想这也是ARM出这些core的初衷吧,以后将会有更多统一的外设而不仅仅是core,这也是一个大趋势。一般会把这个systick作为定时器使用或者延时用,在atmel的afs中就提供了systick用于延时的例子在\common2\services\delay\sam0\systick_counter.c这个文件就是了,当然还提供了一个通用的方式和msp430的__delay_cycles是一致的或者说这里更直白的告诉你如何自行实现这个函数吧。先看看我的systick函数在来分析官方的那个通用延时吧,参考野火的fsl m0库写法。
  1. /**
  2. * @brief  systick_delay
  3. * @note   SysTick延时函数
  4. * @param  none
  5. * @retval none
  6. */
  7. void systick_delay(uint32_t time)
  8. {
  9.     if (time == 0) {
  10.         return;
  11.     }

  12.     /* 24位 */
  13.     if (time <= SysTick_LOAD_RELOAD_Msk) {
  14.         
  15.         /*
  16.          * 关systick,清标志位
  17.          * 设置延时时间
  18.          * 清空计数器
  19.          */
  20.         SysTick->CTRL   = 0x00;                                
  21.         SysTick->LOAD   = time;
  22.         SysTick->VAL    = 0x00;
  23.         
  24.         SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk | SysTick_CTRL_ENABLE_Msk;   
  25.         
  26.         /* 等待时间到 */
  27.         while( !(SysTick->CTRL & SysTick_CTRL_COUNTFLAG_Msk));   
  28.     }
  29. }


  30. /**
  31. * @brief  systick_timing
  32. * @note   SysTick定时函数
  33. * @param  none
  34. * @retval none
  35. */
  36. void systick_timing(uint32_t time)
  37. {
  38.     if (time <= SysTick_LOAD_RELOAD_Msk) {
  39.         SysTick->CTRL = 0x00;
  40.         /* 设置延时时间 */
  41.         SysTick->LOAD = time;
  42.         
  43.         /* 设置优先级 */
  44.         NVIC_SetPriority (SysTick_IRQn, (1 << __NVIC_PRIO_BITS) - 1);
  45.         
  46.         /* 清空计数器 */
  47.         SysTick->VAL  = 0x00;
  48.         SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk | SysTick_CTRL_TICKINT_Msk | SysTick_CTRL_ENABLE_Msk;     
  49.     }
  50. }
复制代码



好吧,继续说到那个通用的延时函数,目录在\common2\services\delay\sam0\cycle_counter.c
  1. OPTIMIZE_HIGH
  2. RAMFUNC
  3. void portable_delay_cycles(unsigned long n)
  4. {
  5.         UNUSED(n);

  6.         __asm (
  7.                 "loop: DMB        \n"
  8. #ifdef __ICCARM__
  9.                 "SUBS r0, r0, #1 \n"
  10. #else
  11.                 "SUB r0, r0, #1 \n"
  12. #endif
  13.                 "CMP r0, #0  \n"
  14.                 "BNE loop         "
  15.         );
  16. }
复制代码
关于OPTIMIZE_HIGH和RAMFUNC留着给大家自己学习吧,不得不说现在IDE越做越好,让工程师都变得低能了不少,直接一个RAMFUNC就把函数放到RAM中执行了,哎,殊不知还需要实现拷贝函数。在IAR中就是我们熟悉的__ramfunc。跟多的delay细节参考这个路径下的cycle_counter.c和cycle_counter.h文件吧,毕竟是点评不好深入分析。




继续说sercom吧,这玩意呵呵,以前使用过富士通的m3,那是第一次接触这种外设,只能说是高级了。在fujitsu而言被他们称为MFS还有一个类似的东西是定时器被称为MFT。哎,这东西就一个字灵活好用,自由。富士通最大支持8个串口,还是比较给力的。当然了atmel是我在mcu产品中第二个使用这种外设的,暂时不去追究他和Fujitsu哪个更早,只是从我的认知过程来看。继续说说这种外设的驱动,不得不说,现在我算是有一些认可了,以前Fujitsu我看这种外设我总是去把他和stm32去比较,怎么没别人的写的那么好呢。哎,觉今是而昨非啊,这种复杂的外设不能做的那么简单,这个驱动人家也是花了不少心思来做了。恩,还要说说驱动本身,不管是atmel还是Fujitsu都是采用的linux的风格,基本上都是那套read/write,真正使用过这个外设的同伴会知道,这驱动在中断上给你做了一层封装,有个缓冲当你配置为中断模式后会自动进入中断把你的数据缓存起来,当你要使用的时候直接调用read类似的函数就行了,同时还支持用户设置回调函数,让你可以做类似在中断中做一些相关的事情。不过倒不是真实的中断回调hock函数,而仅仅是在你调用read类似的函数的时候才会被调用,说来也好,这种方式你仔细想想,比通常的方式倒还优越不少,不想过多分析了,太辛苦。当然write也是支持回调函数的,这样可以直接把闪灯放置到回调hock中这样可以实现以下场景,当你的485数据写数据的时候需要闪灯指示,那这种是在好不过的了。我的配置函数,使用的板子默认的I2C接口,建议大家用这种口来试试,会有不少收获,而不仅仅是板载原生支持的配置,忘记说了针对串口中断接收,做法是开启回调函数,设置回调函数,同时一定要注意轮询read类似函数才可以,针对atmel我调用的是uart_recv_process();。
  1. /**
  2. * brief  slip_arch_init
  3. * note   SLIP初始化移植接口
  4. * param  None
  5. * retval None
  6. */
  7. void slip_arch_init(unsigned long ubr)
  8. {
  9.         struct usart_config usart_conf;
  10.    
  11.         usart_get_config_defaults(&usart_conf);
  12.         usart_conf.mux_setting      = CONF_SLIP_MUX_SETTING;
  13.         usart_conf.pinmux_pad0      = CONF_SLIP_PINMUX_PAD0;
  14.         usart_conf.pinmux_pad1      = CONF_SLIP_PINMUX_PAD1;
  15.         usart_conf.pinmux_pad2      = CONF_SLIP_PINMUX_PAD2;
  16.         usart_conf.pinmux_pad3      = CONF_SLIP_PINMUX_PAD3;
  17.    
  18.     if (ubr) {
  19.         usart_conf.baudrate     = ubr;
  20.     } else {
  21.         usart_conf.baudrate     = CONF_SLIP_BAUDRATE;
  22.     }
  23.    
  24.         usart_serial_init(&uart_module, CONF_SLIP_USART_MODULE, &usart_conf);
  25.         usart_enable(&uart_module);
  26.    
  27.     usart_register_callback(&uart_module, usart_read_callback, USART_CALLBACK_BUFFER_RECEIVED);
  28.     usart_enable_callback(&uart_module, USART_CALLBACK_BUFFER_RECEIVED);

  29. }
复制代码

  1. /**
  2. * brief  usart_read_callback
  3. * note   UART读取回调函数--类似中断(采用官方驱动的回调机制,需要轮询线程配合)
  4. * param  None
  5. * retval None
  6. */
  7. void usart_read_callback(const struct usart_module *const usart_module)
  8. {
  9.         unsigned char c;
  10.     c = RX_BUF[0];
  11.     slip_input_byte(c);
  12. }
复制代码


其他外设,继续说吧。RTIME也就是关于TC定时器的使用,还有关于NVM的使用。后面继续说吧,也压压楼看看运气吧,


此帖出自单片机论坛
 
个人签名电工
 
 

回复

2144

帖子

3

TA的资源

五彩晶圆(中级)

13
 
继续说NVM,不得不说atmel是做flash的,这玩意考虑的很全面,有点当年at45dbxxx的感觉,到目前为止我没见过哪个MCU内置的flash是全区支持这种擦写操作的,不得不说就是给力。这里说一下R21和D21是一样的仅仅多了一个RADIO所以不用担心一致性。

* 针对SAMR21G18 NVM存储结构确定,Flash一共256K
* 页大小64Bytes,页数量4096,程序区128K,剩余128K用于文件系统
* SAMR21G18 NVM支持的擦除方式为ROW擦除,4个页为一个ROW,所以最小的擦除单位是256Byte


目前我已经在他的NVM上实现了微型日志文件系统的移植工作,支持擦写磨损均衡等,主要是采用垃圾回收和链表结构来实现的。
XMEM写驱动,已经测试过的,还要说说官方自带的drivers的事情,恩,这个驱动很不错,不要试图和stm32的库来比较,没得比,他是优秀的,不要怀疑他,看起来乱,不会用,不方便,我只好说,是你不懂用,水平low千万别怪别人的东西不好。
重要的路径\sam0\utils\cmsis\samr21\include\instance\nvmctrl.h这个文件很重要,相关外设都会有类似的子头文件,需要引起注意,多看他就好了。
  1. /**
  2. * @brief   xmem_pwrite
  3. * @note    XMEM写操作--addr由上层控制为ROW地址对齐
  4. * @param   none
  5. * @retval  none
  6. */
  7. int xmem_pwrite(const void *_buf, int size, unsigned long addr)
  8. {
  9.     uint8_t *bufPtr;
  10.     int  sizeCur, sizePae;
  11.     enum status_code error_code;
  12.    
  13.     if (size > NVMCTRL_ROW_SIZE) {
  14.         PRINTF("xmem_pwrite size too big\r\n");
  15.     }
  16.    
  17.     do {
  18.                 error_code = nvm_erase_row(addr);
  19.         } while (error_code == STATUS_BUSY);
  20.    
  21.     /*
  22.      * 注意此次的写操作是在本次的ROW对齐地址范围内
  23.      * 函数nvm_write_buffer实现在PAGE对齐地址范围内写操作
  24.      */
  25.     bufPtr  = (uint8_t*)_buf;
  26.     sizeCur = size;
  27.    
  28.     while (sizeCur > 0) {
  29.         sizePae = NVMCTRL_PAGE_SIZE - addr%NVMCTRL_PAGE_SIZE;
  30.         sizePae = (sizeCur > NVMCTRL_PAGE_SIZE) ? sizePae : sizeCur;

  31.         do {
  32.             error_code = nvm_write_buffer(addr, bufPtr, sizePae);
  33.         } while (error_code == STATUS_BUSY);
  34.         
  35.         bufPtr  = bufPtr  + sizePae;
  36.         addr    = addr    + sizePae;
  37.         sizeCur = sizeCur - sizePae;
  38.     }
  39.     return size;
  40. }
复制代码
\sam0\utils\cmsis\samr21\include\instance\nvmctrl.h的一些细节,暴露给大家
  1. /* ========== Instance parameters for NVMCTRL peripheral ========== */
  2. #define NVMCTRL_AUX0_ADDRESS        (NVMCTRL_USER_PAGE_ADDRESS + 0x00004000)
  3. #define NVMCTRL_AUX1_ADDRESS        (NVMCTRL_USER_PAGE_ADDRESS + 0x00006000)
  4. #define NVMCTRL_AUX2_ADDRESS        (NVMCTRL_USER_PAGE_ADDRESS + 0x00008000)
  5. #define NVMCTRL_AUX3_ADDRESS        (NVMCTRL_USER_PAGE_ADDRESS + 0x0000A000)
  6. #define NVMCTRL_CLK_AHB_ID          4
  7. #define NVMCTRL_FACTORY_WORD_IMPLEMENTED_MASK 0xC0000007FFFFFFFF
  8. #define NVMCTRL_FLASH_SIZE          (NVMCTRL_PAGES*NVMCTRL_PAGE_SIZE)
  9. #define NVMCTRL_LOCKBIT_ADDRESS     (NVMCTRL_USER_PAGE_ADDRESS + 0x00002000)
  10. #define NVMCTRL_PAGES               4096
  11. #define NVMCTRL_PAGE_HW             (NVMCTRL_PAGE_SIZE/2)
  12. #define NVMCTRL_PAGE_SIZE           (1<<NVMCTRL_PSZ_BITS)
  13. #define NVMCTRL_PAGE_W              (NVMCTRL_PAGE_SIZE/4)
  14. #define NVMCTRL_PMSB                3
  15. #define NVMCTRL_PSZ_BITS            6
  16. #define NVMCTRL_ROW_PAGES           4
  17. #define NVMCTRL_ROW_SIZE            (NVMCTRL_PAGE_SIZE*NVMCTRL_ROW_PAGES)
  18. #define NVMCTRL_TEMP_LOG_ADDRESS    (NVMCTRL_USER_PAGE_ADDRESS + 0x00006030)
  19. #define NVMCTRL_USER_PAGE_ADDRESS   (FLASH_ADDR + NVMCTRL_USER_PAGE_OFFSET)
  20. #define NVMCTRL_USER_PAGE_OFFSET    0x00800000
  21. #define NVMCTRL_USER_WORD_IMPLEMENTED_MASK 0xC01FFFFFFFFFFFFF
复制代码


此帖出自单片机论坛
 
个人签名电工
 
 

回复

3025

帖子

0

TA的资源

五彩晶圆(初级)

14
 
看了一下,原来是我们网友的文章啊。写的很好,完全是自己的经历和经验啊。很好接受。
此帖出自单片机论坛
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(中级)

15
 
把《与Atmel SAM D21/R21的相遇、相识、相知(上)——Atmel SAM D21 Xplained Pro 开发板评测锦集》看了一遍,编得很不错,毕竟是大牛们试用的心得体会,解决各种出现的问题,不像一些书就是纯翻译一下技术手册,期待这一类型的作品能印刷面世呢,到时一定购一本存着。
此帖出自单片机论坛
 
 
 

回复

3025

帖子

0

TA的资源

五彩晶圆(初级)

16
 

虽然没有使用Atmel主推的这一款评估板,Atmel SAM D21的一些功能也是了解的今天看了一下还是有许多以前没有注意到的东西 。真的很好,学习了
此帖出自单片机论坛
 
 
 

回复

3025

帖子

0

TA的资源

五彩晶圆(初级)

17
 
看完之后,觉得大神们真是不简单啊 ,很多的问题多被他们解决了啊 ,自己要是使用的话可以少走很多弯路啊 。下次有机会去试试看。顶一个
此帖出自单片机论坛
 
 
 

回复

542

帖子

71

TA的资源

纯净的硅(中级)

18
 
770781327 发表于 2015-1-12 21:21
支持,不过立即点评的链接不对吧

多谢指正,页面链接已更正


此帖出自单片机论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
 
 

回复

1025

帖子

1

TA的资源

一粒金砂(高级)

19
 
项目上D21的芯片没用过,但是上个月帮Atmel的代理加工测试过D21的开发板的ATMEL QT1 Xplained Pro电容触摸按键扩展板,了解过一段时间,这个芯片还是很不错的,电容触摸按键这块做的很好,很稳定。给大家看看我们代工的板子,跟官方的板子差不多。
我们代工的板子。两种

此帖出自单片机论坛
 
 
 

回复

606

帖子

20

TA的资源

一粒金砂(高级)

20
 
基于 Atmel SAM D21 ARM Cortex-M0+ 的微控制器系列提供了一系列丰富的外设,实现了高灵活性、易用性和低功耗,是广泛的家庭自动化、消费、计量和工业应用的理想之选。SAM D21 是专为在具有相同外设模块、兼容代码和线性地址映射的 SAM D 器件之间进行简单直观的迁移而设计的。
此帖出自单片机论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表