打印
[国产单片机]

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

[复制链接]
5091|23
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 一路向北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 5https://bbs.21ic.com/icview-2889208-1-1.html     MD基础工程   1.Template.zip (2.68 MB)
第六步: 测试LED、按键 https://bbs.21ic.com/icview-2889264-1-1.html    ALD+BSP基础工程 2.LED_KEY.zip (6.5 MB)
第七步: 测试串口0 https://bbs.21ic.com/icview-2889278-1-1.html
第八步: 测试ADC功能 https://bbs.21ic.com/icview-2889606-1-1.html    测试ADC工程 4.ADC.zip (6.86 MB)
第九步: 测试高级控制定时器(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 kprintf  https://bbs.21ic.com/icview-2890338-1-1.html  RT-Thread工程   7.RTThread.zip (7.98 MB)
第十二步:测试RT-Thread +真随机数发生器(TRNGhttps://bbs.21ic.com/icview-2891006-1-1.html
第十三步:测试RT-Thread+硬件加密(CRYPThttps://bbs.21ic.com/icview-2891048-1-1.html
第十四步:测试RT-Thread+循环冗余校验(CRChttps://bbs.21ic.com/icview-2891994-1-1.html
第十五步:基于ES32F0654LQ PCB的制作 https://bbs.21ic.com/icview-2891172-1-1.html
最后来一个基于ES32F0654 的测试Demo送给大家:  测试工程 11.RTThread 测试Demo.zip (8.5 MB)
//任务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[3]);
        md_crypt_set_key1(CRYPT, key[2]);
        md_crypt_set_key2(CRYPT, key[1]);
        md_crypt_set_key3(CRYPT, key[0]);

        md_crypt_set_iv0(CRYPT, ivr[3]);
        md_crypt_set_iv1(CRYPT, ivr[2]);
        md_crypt_set_iv2(CRYPT, ivr[1]);
        md_crypt_set_iv3(CRYPT, ivr[0]);
        //打印加密前的数据
        rt_kprintf("加密前的数据 :\r\n");        
        for(loop =0;loop<16;loop++)
        {
                   rt_kprintf("0X%08x  ",plain[loop]);        
        }
         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[loop]);        
        }
         rt_kprintf("\r\n");        
        
        
        md_crypt_set_key0(CRYPT, key[3]);
        md_crypt_set_key1(CRYPT, key[2]);
        md_crypt_set_key2(CRYPT, key[1]);
        md_crypt_set_key3(CRYPT, key[0]);

        md_crypt_set_iv0(CRYPT, ivr[3]);
        md_crypt_set_iv1(CRYPT, ivr[2]);
        md_crypt_set_iv2(CRYPT, ivr[1]);
        md_crypt_set_iv3(CRYPT, ivr[0]);
        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[loop]);        
        }
        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[4] = {0, 1, 0, 2};

//测试CRC
void test_crc()
{
  for (i = 0; i < 4; i++)
                 md_crc_write_data(CRC, crc_buf[i]);
        /* 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);        
        }  
}



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 

相关帖子

沙发
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 | 只看该作者
恭喜恭喜,是研讨会的大奖吗,哈哈

使用特权

评论回复
5
一路向北lm|  楼主 | 2019-12-17 08:29 | 只看该作者
springvirus 发表于 2019-12-17 08:15
恭喜恭喜,是研讨会的大奖吗,哈哈

什么大奖

使用特权

评论回复
6
一路向北lm|  楼主 | 2019-12-17 20:54 | 只看该作者
今天更新  ADC 这块

使用特权

评论回复
7
一路向北lm|  楼主 | 2019-12-18 20:11 | 只看该作者
更新到 高级控制定时器(AD16C4T)基本定时和产生4路PWM波

使用特权

评论回复
8
一路向北lm|  楼主 | 2019-12-19 10:35 | 只看该作者
添加RTThread到开发板了,国产新片配国产操作系统。

使用特权

评论回复
9
一路向北lm|  楼主 | 2019-12-20 09:39 | 只看该作者
测试了 RT-Thread 的kprintf功能,RTThread跑起来了

使用特权

评论回复
10
aozima| | 2019-12-20 10:02 | 只看该作者
给楼主点个赞!

使用特权

评论回复
11
一路向北lm|  楼主 | 2019-12-21 13:42 | 只看该作者
aozima 发表于 2019-12-20 10:02
给楼主点个赞!

感谢支持哈

使用特权

评论回复
12
一路向北lm|  楼主 | 2019-12-21 21:12 | 只看该作者
更新到 测试RT-Thread +真随机数发生器(TRNG)

使用特权

评论回复
13
一路向北lm|  楼主 | 2019-12-22 13:11 | 只看该作者
已更新到 RT-Thread+硬件加密(CRYPT)

使用特权

评论回复
14
一路向北lm|  楼主 | 2019-12-23 10:45 | 只看该作者
更新到 基于ES32F0654LQ 的PCB的制作

使用特权

评论回复
15
飞舸house| | 2019-12-26 12:38 | 只看该作者
6666

使用特权

评论回复
16
一路向北lm|  楼主 | 2019-12-26 12:42 | 只看该作者

使用特权

评论回复
17
6841709| | 2020-3-11 23:18 | 只看该作者
不错不错

使用特权

评论回复
18
inrel123| | 2020-4-8 14:01 | 只看该作者
RT thread和东软载波微电子基于ES32F0654开发板有活动,这**正好,楼主又可以深入的在写点心得了,哈啊哈

使用特权

评论回复
19
一路向北lm|  楼主 | 2020-4-8 14:04 | 只看该作者
inrel123 发表于 2020-4-8 14:01
RT thread和东软载波微电子基于ES32F0654开发板有活动,这**正好,楼主又可以深入的在写点心得了,哈啊哈 ...

板子在学校,目前在家

使用特权

评论回复
20
inrel123| | 2020-4-8 14:05 | 只看该作者
本帖最后由 inrel123 于 2020-4-8 14:08 编辑
一路向北lm 发表于 2020-4-8 14:04
板子在学校,目前在家

这是还没开学啊,年前要是带着板子回家,现在就有用处了

使用特权

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

本版积分规则

275

主题

3784

帖子

76

粉丝