一路向北lm 发表于 2019-12-16 11:20

【东软载波ESF0654 PDS开发板活动】评测

本帖最后由 一路向北lm 于 2019-12-26 14:50 编辑

很开心能到得到本次东软载波电子essemi赠送的评测开发板ES-PDS -ES32F0654,ES32F0系列作为上海东软载波电子有限公司推出的基于ARM Cortex M0 内核的32位MCU,具有处理能力强大、外设接口丰富、抗干扰能力优异的特点。(所有资料都可以从http://www.essemi.com/article/c52.html 下载)。不知不觉已经写了这么多页文档,分享出来给大家!
第一步:开箱 https://bbs.21ic.com/icview-2889122-1-1.html
第二步: 认知芯片,便于上手 https://bbs.21ic.com/icview-2889130-1-1.html
第三步: iDesigner的安装体验 https://bbs.21ic.com/icview-2889140-1-1.html
第四步: 迅速上手https://bbs.21ic.com/icview-2889150-1-1.html
第五步: 新建工程(基于Keil 5) https://bbs.21ic.com/icview-2889208-1-1.html   MD基础工程
第六步: 测试LED、按键 https://bbs.21ic.com/icview-2889264-1-1.html    ALD+BSP基础工程
第七步: 测试串口0 https://bbs.21ic.com/icview-2889278-1-1.html
第八步: 测试ADC功能 https://bbs.21ic.com/icview-2889606-1-1.html    测试ADC工程
第九步: 测试高级控制定时器(AD16C4T)基本定时和产生4路PWM波 https://bbs.21ic.com/icview-2889858-1-1.html
第十步:移植RT-Thread到ES32F0654平台 https://bbs.21ic.com/icview-2890020-1-1.html
第十一步:测试RT-Thread 的kprintfhttps://bbs.21ic.com/icview-2890338-1-1.htmlRT-Thread工程
第十二步:测试RT-Thread +真随机数发生器(TRNG)https://bbs.21ic.com/icview-2891006-1-1.html
第十三步:测试RT-Thread+硬件加密(CRYPT)https://bbs.21ic.com/icview-2891048-1-1.html
第十四步:测试RT-Thread+循环冗余校验(CRC)https://bbs.21ic.com/icview-2891994-1-1.html
第十五步:基于ES32F0654LQ 的PCB的制作 https://bbs.21ic.com/icview-2891172-1-1.html
最后来一个基于ES32F0654 的测试Demo送给大家:测试工程
//任务1:状态指示

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

      md_crypt_set_iv0(CRYPT, ivr);
      md_crypt_set_iv1(CRYPT, ivr);
      md_crypt_set_iv2(CRYPT, ivr);
      md_crypt_set_iv3(CRYPT, ivr);
      //打印加密前的数据
      rt_kprintf("加密前的数据 :\r\n");      
      for(loop =0;loop<16;loop++)
      {
                   rt_kprintf("0X%08x",plain);      
      }
         rt_kprintf("\r\n");      
      md_crypt_enable_iv(CRYPT);//开始AES加密
         md_crypt_encrypt(&h_crypt1,(uint8_t*)plain, (uint8_t*)result, sizeof(plain));
      //打印加密后的数据
      rt_kprintf("加密后的数据 :\r\n");      
      for(loop =0;loop<16;loop++)
      {
                   rt_kprintf("0X%08x",result);      
      }
         rt_kprintf("\r\n");      
      
      
      md_crypt_set_key0(CRYPT, key);
      md_crypt_set_key1(CRYPT, key);
      md_crypt_set_key2(CRYPT, key);
      md_crypt_set_key3(CRYPT, key);

      md_crypt_set_iv0(CRYPT, ivr);
      md_crypt_set_iv1(CRYPT, ivr);
      md_crypt_set_iv2(CRYPT, ivr);
      md_crypt_set_iv3(CRYPT, ivr);
      md_crypt_enable_iv(CRYPT);
         md_crypt_decrypt(&h_crypt1,(uint8_t*)expect, (uint8_t*)result, sizeof(expect));      //开始AES解密
      //打印加密后的数据
      rt_kprintf("解密后的数据 :\r\n");      
      for(loop =0;loop<16;loop++)
      {
                   rt_kprintf("0X%08x",result);      
      }
      rt_kprintf("\r\n\r\n");      
      

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


//任务3:测试AES-CBC 加密和解密
void task3(void *parameter)
{
while(1)
      {      
                rt_kprintf("任务3正在运行 测试AES_CBC128加密和解密算法 \r\n\r\n");      
                test_aes_cbc_128();
                rt_thread_delay(1000);      
      }
}//任务4:测试CRC
uint32_t res = 0;
uint16_t i = 0;
uint8_t crc_buf = {0, 1, 0, 2};

//测试CRC
void test_crc()
{
for (i = 0; i < 4; i++)
               md_crc_write_data(CRC, crc_buf);
      /* start calculate and result is 0x93b2*/
         res = CRC->CHECKSUM;
          rt_kprintf("CRC 算法输出的结果: 0X%04x:\r\n\r\n",res);      
}
//任务4:测试CRC
void task4(void *parameter)
{
while(1)
      {      
                rt_kprintf("任务4正在运行 测试CRC算法 \r\n");      
                test_crc();
                rt_thread_delay(1000);      
      }
}//任务5:测试旋钮ADC
uint32_t adc_value;
//任务5:测试旋钮ADC
void task5(void *parameter)
{
while(1)
      {      
                rt_kprintf("任务5正在运行 测试旋钮ADC的值为:%d \r\n\r\n",adc_value);      
                adc_value = adc_average();
                rt_thread_delay(1000);      
      }
}

static/image/hrline/4.gifstatic/image/hrline/4.gifhttps://bbs.21ic.com/static/image/hrline/4.gif
LED和KEY

串口       
   
ADC    

PWM

RT-Thread kprintf

RT-Thread +真随机数发生器

测试RT-Thread+硬件加密


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

PCB 3D 背面图















KloppGuo 发表于 2019-12-16 15:33

你收到了,恭喜恭喜!

一路向北lm 发表于 2019-12-16 15:44

KloppGuo 发表于 2019-12-16 15:33
你收到了,恭喜恭喜!

谢谢了,这个板子还不错嘛,毕竟国产,期待值很高,集成开发环境iDesigner还在摸索中。

springvirus 发表于 2019-12-17 08:15

恭喜恭喜,是研讨会的大奖吗,哈哈

一路向北lm 发表于 2019-12-17 08:29

springvirus 发表于 2019-12-17 08:15
恭喜恭喜,是研讨会的大奖吗,哈哈

{:lol:}什么大奖

一路向北lm 发表于 2019-12-17 20:54

今天更新ADC 这块

一路向北lm 发表于 2019-12-18 20:11

更新到 高级控制定时器(AD16C4T)基本定时和产生4路PWM波

一路向北lm 发表于 2019-12-19 10:35

添加RTThread到开发板了,国产新片配国产操作系统。

一路向北lm 发表于 2019-12-20 09:39

测试了 RT-Thread 的kprintf功能,RTThread跑起来了

aozima 发表于 2019-12-20 10:02

给楼主点个赞!

一路向北lm 发表于 2019-12-21 13:42

aozima 发表于 2019-12-20 10:02
给楼主点个赞!

感谢支持哈{:lol:}

一路向北lm 发表于 2019-12-21 21:12

更新到 测试RT-Thread +真随机数发生器(TRNG)

一路向北lm 发表于 2019-12-22 13:11

已更新到 RT-Thread+硬件加密(CRYPT)

一路向北lm 发表于 2019-12-23 10:45

更新到 基于ES32F0654LQ 的PCB的制作

飞舸house 发表于 2019-12-26 12:38

6666

一路向北lm 发表于 2019-12-26 12:42

飞舸house 发表于 2019-12-26 12:38
6666

{:lol:}感谢支持

6841709 发表于 2020-3-11 23:18

不错不错

inrel123 发表于 2020-4-8 14:01

RT thread和东软载波微电子基于ES32F0654开发板有活动,这**正好,楼主又可以深入的在写点心得了,哈啊哈

一路向北lm 发表于 2020-4-8 14:04

inrel123 发表于 2020-4-8 14:01
RT thread和东软载波微电子基于ES32F0654开发板有活动,这**正好,楼主又可以深入的在写点心得了,哈啊哈 ...

{:biggrin:}板子在学校,目前在家

inrel123 发表于 2020-4-8 14:05

本帖最后由 inrel123 于 2020-4-8 14:08 编辑

一路向北lm 发表于 2020-4-8 14:04
板子在学校,目前在家
这是还没开学啊{:titter:}{:titter:},年前要是带着板子回家,现在就有用处了
页: [1] 2
查看完整版本: 【东软载波ESF0654 PDS开发板活动】评测