白姐透特今晚开什么码

打印

[国产单片机]【东软载波ESF0654 PDS开发板活动】评测

[复制链接]
2614|16
跳转到指定楼层
楼主
本帖最后由 一路向北lm 于 2019-12-26 14:50 编辑

很开心能到得到本次东软载波电子essemi赠送的评测开发板ES-PDS -ES32F0654,ES32F0系列作为上海东软载波电子有限公司推出的基于ARM Cortex M0 内核的32位MCU,具有处理能力强大、外设接口丰富、抗干扰能力优异的特点。(所有资料都可以从 下载)。不知不觉已经写了这么多页文档,分享出来给大家!

第一步:开箱 http://kikawi.cn/icview-2889122-1-1.html
第二步: 认知芯片,便于上手 http://kikawi.cn/icview-2889130-1-1.html
第三步: iDesigner的安装体验 http://kikawi.cn/icview-2889140-1-1.html
第四步: 迅速上手http://kikawi.cn/icview-2889150-1-1.html
第五步: 新建工程(基于Keil 5http://kikawi.cn/icview-2889208-1-1.html     MD基础工程  1.Template.zip(2.68 MB, 下载次数: 2)
第六步: 测试LED、按键 http://kikawi.cn/icview-2889264-1-1.html    ALD+BSP基础工程 2.LED_KEY.zip(6.5 MB, 下载次数: 4)
第七步: 测试串口0 http://kikawi.cn/icview-2889278-1-1.html
第八步: 测试ADC功能 http://kikawi.cn/icview-2889606-1-1.html    测试ADC工程 4.ADC.zip(6.86 MB, 下载次数: 1)
第九步: 测试高级控制定时器(AD16C4T)基本定时和产生4路PWM波 http://kikawi.cn/icview-2889858-1-1.html
第十步:移植RT-Thread到ES32F0654平台 http://kikawi.cn/icview-2890020-1-1.html
第十一步:测试RT-Thread kprintf  http://kikawi.cn/icview-2890338-1-1.html  RT-Thread工程  7.RTThread.zip(7.98 MB, 下载次数: 0)
第十二步:测试RT-Thread +真随机数发生器(TRNGhttp://kikawi.cn/icview-2891006-1-1.html
第十三步:测试RT-Thread+硬件加密(CRYPThttp://kikawi.cn/icview-2891048-1-1.html
第十四步:测试RT-Thread+循环冗余校验(CRChttp://kikawi.cn/icview-2891994-1-1.html
第十五步:基于ES32F0654LQ PCB的制作 http://kikawi.cn/icview-2891172-1-1.html
最后来一个基于ES32F0654 的测试Demo送给大家:  测试工程 11.RTThread 测试Demo.zip(8.5 MB, 下载次数: 0)
//任务1:状态指示

  1. void task1(void *parameter)
  2. {
  3.         while(1)
  4.         {
  5.                 LED1_TOGGLE;
  6.                 LED2_TOGGLE;
  7.                 rt_thread_delay(500);        
  8.                 rt_kprintf("任务1正在运行,LED指示正常\r\n\r\n");        
  9.         }  
  10. }
复制代码
//任务2:产生一个随机数
  1. unsigned int num;
  2. //任务2:产生一个随机数
  3. void task2(void *parameter)
  4. {
  5.   while(1)
  6.         {
  7.                 num = trng_module_get_data();
  8.                 rt_thread_delay(500);        
  9.                 rt_kprintf("任务2正在运行 产生了一个随机数:%d \r\n\r\n",num);        
  10.         }  
  11. }
复制代码
//任务3:测试AES-CBC 加密和解密
  1. /* aes cbc key = 128bits
  2. * input         32 43 f6 a8 88 5a 30 8d 31 31 98 a2 e0 37 07 34
  3. *                32 43 f6 a8 88 5a 30 8d 31 31 98 a2 e0 37 07 34
  4. *                32 43 f6 a8 88 5a 30 8d 31 31 98 a2 e0 37 07 34
  5. *                32 43 f6 a8 88 5a 30 8d 31 31 98 a2 e0 37 07 34
  6. * cipher key        2b 7e 15 16 28 ae d2 a6 ab f7 15 88 09 cf 4f 3c
  7. * iv                f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd fe ff
  8. * refer result        92 5a fa 80 48 a0 7d 7a d8 68 c5 f2 c3 94 68 a6
  9.                 1d b9 bf 55 f0 be 88 67 5f 04 cb c2 fa c9 57 8c
  10.                 f4 a4 7f ad 59 61 e3 22 d6 a0 44 06 01 75 42 89
  11.                 1c 22 ee 2f a0 46 08 aa c2 2f 64 29 92 40 06 6d
  12. */
  13. void test_aes_cbc_128()
  14. {
  15.         
  16.         md_crypt_set_key0(CRYPT, key[3]);
  17.         md_crypt_set_key1(CRYPT, key[2]);
  18.         md_crypt_set_key2(CRYPT, key[1]);
  19.         md_crypt_set_key3(CRYPT, key[0]);

  20.         md_crypt_set_iv0(CRYPT, ivr[3]);
  21.         md_crypt_set_iv1(CRYPT, ivr[2]);
  22.         md_crypt_set_iv2(CRYPT, ivr[1]);
  23.         md_crypt_set_iv3(CRYPT, ivr[0]);
  24.         //打印加密前的数据
  25.         rt_kprintf("加密前的数据 :\r\n");        
  26.         for(loop =0;loop<16;loop++)
  27.         {
  28.                    rt_kprintf("0X%08x  ",plain[loop]);        
  29.         }
  30.          rt_kprintf("\r\n");        
  31.         md_crypt_enable_iv(CRYPT);//开始AES加密
  32.          md_crypt_encrypt(&h_crypt1,(uint8_t*)plain, (uint8_t*)result, sizeof(plain));
  33.         //打印加密后的数据
  34.         rt_kprintf("加密后的数据 :\r\n");        
  35.         for(loop =0;loop<16;loop++)
  36.         {
  37.                    rt_kprintf("0X%08x  ",result[loop]);        
  38.         }
  39.          rt_kprintf("\r\n");        
  40.         
  41.         
  42.         md_crypt_set_key0(CRYPT, key[3]);
  43.         md_crypt_set_key1(CRYPT, key[2]);
  44.         md_crypt_set_key2(CRYPT, key[1]);
  45.         md_crypt_set_key3(CRYPT, key[0]);

  46.         md_crypt_set_iv0(CRYPT, ivr[3]);
  47.         md_crypt_set_iv1(CRYPT, ivr[2]);
  48.         md_crypt_set_iv2(CRYPT, ivr[1]);
  49.         md_crypt_set_iv3(CRYPT, ivr[0]);
  50.         md_crypt_enable_iv(CRYPT);  
  51.          md_crypt_decrypt(&h_crypt1,(uint8_t*)expect, (uint8_t*)result, sizeof(expect));        //开始AES解密
  52.         //打印加密后的数据
  53.         rt_kprintf("解密后的数据 :\r\n");        
  54.         for(loop =0;loop<16;loop++)
  55.         {
  56.                    rt_kprintf("0X%08x  ",result[loop]);        
  57.         }
  58.         rt_kprintf("\r\n\r\n");        
  59.         

  60.         //输出解答密过程的错误率
  61. }


  62. //任务3:测试AES-CBC 加密和解密
  63. void task3(void *parameter)
  64. {
  65.   while(1)
  66.         {        
  67.                 rt_kprintf("任务3正在运行 测试AES_CBC128加密和解密算法 \r\n\r\n");        
  68.                 test_aes_cbc_128();
  69.                 rt_thread_delay(1000);        
  70.         }  
  71. }
复制代码
//任务4:测试CRC
  1. uint32_t res = 0;
  2. uint16_t i = 0;
  3. uint8_t crc_buf[4] = {0, 1, 0, 2};

  4. //测试CRC
  5. void test_crc()
  6. {
  7.   for (i = 0; i < 4; i++)
  8.                  md_crc_write_data(CRC, crc_buf[i]);
  9.         /* start calculate and result is 0x93b2*/
  10.          res = CRC->CHECKSUM;
  11.           rt_kprintf("CRC 算法输出的结果: 0X%04x:\r\n\r\n",res);        
  12. }
  13. //任务4:测试CRC
  14. void task4(void *parameter)
  15. {
  16.   while(1)
  17.         {        
  18.                 rt_kprintf("任务4正在运行 测试CRC算法 \r\n");        
  19.                 test_crc();
  20.                 rt_thread_delay(1000);        
  21.         }  
  22. }
复制代码
//任务5:测试旋钮ADC
  1. uint32_t adc_value;
  2. //任务5:测试旋钮ADC
  3. void task5(void *parameter)
  4. {
  5.   while(1)
  6.         {        
  7.                 rt_kprintf("任务5正在运行 测试旋钮ADC的值为:%d \r\n\r\n",adc_value);        
  8.                 adc_value = adc_average();
  9.                 rt_thread_delay(1000);        
  10.         }  
  11. }
复制代码



LED和KEY

串口         
  
ADC    

PWM

RT-Thread kprintf

RT-Thread +真随机数发生器

测试RT-Thread+硬件加密


基于ES32F0654LQ PCB的制作
PCB 3D 正面图

PCB 3D 背面图















评论

21ic小喇叭2019-12-18 16:23回复TA
666 

相关资料

沙发
|2019-12-16 15:33|只看该作者
你收到了,恭喜恭喜!
板凳
 楼主|2019-12-16 15:44|只看该作者
KloppGuo 发表于 2019-12-16 15:33
你收到了,恭喜恭喜!

谢谢了,这个板子还不错嘛,毕竟国产,期待值很高,集成开发环境iDesigner还在摸索中。
地板
|2019-12-17 08:15|只看该作者
恭喜恭喜,是研讨会的大奖吗,哈哈
5
 楼主|2019-12-17 08:29|只看该作者
springvirus 发表于 2019-12-17 08:15
恭喜恭喜,是研讨会的大奖吗,哈哈

什么大奖
6
 楼主|2019-12-17 20:54|只看该作者
今天更新  ADC 这块
7
 楼主|2019-12-18 20:11|只看该作者
更新到 高级控制定时器(AD16C4T)基本定时和产生4路PWM波
8
 楼主|2019-12-19 10:35|只看该作者
添加RTThread到开发板了,国产新片配国产操作系统。
9
 楼主|2019-12-20 09:39|只看该作者
测试了 RT-Thread 的kprintf功能,RTThread跑起来了
10
|2019-12-20 10:02|只看该作者
给楼主点个赞!
11
 楼主|2019-12-21 13:42|只看该作者

感谢支持哈
12
 楼主|2019-12-21 21:12|只看该作者
更新到 测试RT-Thread +真随机数发生器(TRNG)
13
 楼主|2019-12-22 13:11|只看该作者
已更新到 RT-Thread+硬件加密(CRYPT)
14
 楼主|2019-12-23 10:45|只看该作者
更新到 基于ES32F0654LQ 的PCB的制作
15
|2019-12-26 12:38|只看该作者
16
 楼主|2019-12-26 12:42|只看该作者
扫描二维码,随时随地手机跟帖

本版积分规则

我要发帖投诉建议创建版块

快速回复

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

论坛热帖

关闭

热门推荐上一条 /6 下一条

在线客服 快速回复 返回顶部返回列表