magicoctoier 发表于 2022-8-1 09:08:07

好东西--MC3172并行多线程实时处理器

直接裸机编程,简化多任务的切换,就是不知道价格喜不喜人了:)。
并行多线程是一种全新的CPU工作模式与软件开发模式,不同于单线程裸机编程,只能顺序执行,也不同于操作系统通过切换造成的多线程执行,并行多线程的各个线程是一直在并行运行的,彼此互不打扰,没有优先级的概念,也没有切换的随机性。
该界面提供如下方面的自动配置:1.64个线程的运行速度,每个线程最高可以运行在主频的1/4,最低是主频的1/1024,不使用的线程可设置为空闲,空闲线程完全不运行,也不产生功耗。64个线程分属4个线程组,每个线程组的最高主频份额不能超过主频的1/4。2.64个线程的运行栈空间,每个线程都有自己独立的栈空间,且在数据空间允许的范围内随意分配,只要所有非空闲线程的栈空间总和不超过数据空间的大小即可(数据空间有192字节的保留区不可使用),栈空间大小需要是4字节的整数倍。3. 代码空间和数据空间分配,MC3172拥有128K字节的存储器,可以按需分配为96K代码空间+32K数据空间,或64K代码空间+64K数据空间或32K代码空间+96K数据空间,客户根据自己的实际需要选择即可4. 时钟源选择,MC3172拥有4个时钟源,可在界面按需选择。当一切配置完毕后,点击生成代码按钮即可得到thread_config.h和MC3172.lds两个文件。 至此,MC3172的主要参数已经配置完毕,用户只需要在main.c对应的threadn_main函数中实现自己的代码即可,此外各个线程之间是共享全局变量的,通过对全局变量的读写,即可实现线程间的数据传送与控制,例如:线程1负责从一个ADC读取数据并存储到全局数组,同时更新全局变量AD_WP,线程2轮询检查AD_WP的数值,如果发现该数据更新则去对应的全局数组取得AD的数据并进行滤波,滤波后的数据存储到另一个全局数组,并更新全局变量FILTER_WP,线程3轮询检查FILTER_WP的数值,如果发现该数据更新则去对应的全局数组取得滤波后的的数据并发送到串口。可见通过对全局变量的合理使用,即可达到线程通信的目的,且没有数据搬移的开销,各个线程也不会被其他线程抢占或被中断打断,所有行为都是确定性时序,安全可靠。

eric2013 发表于 2022-8-1 10:35:05

是不是坛友分享的这个,好像是一样的。

众多国产mcu中发现了一个异类,感觉好叼
https://www.armbbs.cn/forum.php?mod=viewthread&tid=114416&fromuid=58
(出处: 硬汉嵌入式论坛)

magicoctoier 发表于 2022-8-1 10:38:03

eric2013 发表于 2022-8-1 10:35
是不是坛友分享的这个,好像是一样的。

众多国产mcu中发现了一个异类,感觉好叼


是的,就是没有看到哪里可以买到,资料也少。
页: [1]
查看完整版本: 好东西--MC3172并行多线程实时处理器