-
个人信息无误,确认可以完成测评分享计划
-
Rust的问题就是把简单的事情复杂化了,不容易入门。
-
Autosar中Runnable和task是什么关系?
-
一点小总结:
本文分享了在嵌入式软件开发的每个阶段如何考虑软件时间,
主要包括时间需求和时间分析需求,时间测试以及检测最终的产品时间。
从个人感受而言,业内尤其是国内能专门去做时间需求分析的微乎其微,
其实更多是在乎开发者个人的考虑于能力,这里提供一个简单点实践策略,
就是根据经验总结checklist而不是专门去做时间需求分析,因为大部分嵌入式软件都是类似的,
比如检查malloc/free的时间消耗,可以封装专门的带时间测试的接口,比如检查中断的执行时间,使用IO翻转示波器查看,这些常见的时间分析写入checklist,并对于通用实现一些封装可供直接调用。
-
一点小总结:书中总结了很多时间优化的方法和示例,比如memcpy的优化剖析。
个人有点感受,书中提到的数据对齐,在嵌入式开发中其实是很容易获得比较好的优化效果的一个小的编程技巧,平常编程时就可以尽量考虑使用数据对齐。
另外减少存储的拷贝,也是一个优化时间的比较简单有效的方法。
还有就是减少循环体内的执行时间等,也是比较有用的方法,
总之一点,优化时间要先找出花费时间比较大头的地方去优化,首先从算法架构,实现方式去优化,其次才是去利用某些特定特性,比如cache去优化,因为后者往往有副作用需要注意,前者才是通用且成本低效果好的方式。
-
做个小的总结,
这章首先提到了同构,异构,锁步这三种多核架构,其中锁步架构比较有意思,感觉是在宇航级芯片上可能用的多,实际是一种冗余设计,这种冗余要考虑两种实现要不一样,避免同类错误导致"全军覆没",比如镜像放置,时钟偏置,独立时钟等等细节都是处于此考虑。
然后介绍了不同类型的并行执行:应用程序并行执行,函数的并行执行,指令的并行执行。
然后提到了数据一致性的问题,一般低端MCU都没有cache所以遇到比较少,而高端cache会有多级cache,多核,这个问题变得很突出,需要时刻关注数据一致性问题。
-
6.5 拉着手刹去比赛,举了一个有趣的例子,由于项目复杂且从闪存执行大量代码导致速度变慢导致功能异常,使能了Cache之后速度加快功能正常了。
其实对于嵌入式开发来说,这里隐含着一个非常需要重视的问题,即事物的正反面,使能了Cache虽然大大提高了性能,但是必定导致数据一致性的问题,应用开发就需要处处关注,是否存在一致性问题,一致性问题很可能导致很多隐蔽难以发现的问题。这就是嵌入式开发中需要处处关注并且最终权衡选择的。
包括存储需求-性能的权衡,可移植性-复杂性的权衡,时间换空间,空间换时间等等。
-
hehung 发表于 2024-7-23 13:31
调度模式的原理和工作方式是什么
调度模拟是对操作系统组织任务和中断的执行逻辑进行模拟。
选择用于模拟的操作系统->
创建任务和中断->
静态动态参数配置->
激活模式激活任务并触发中断->
生成追踪图表
-
lugl4313820 发表于 2024-7-20 06:10
这是大佬手工替换的吗?好象是焊接的吧。
是fpc排线焊接的,
-
做个小结:
本章介绍了多种时间参数, 可以使用最小最大值,平均值以及直方图进行呈现,一般系统可以直接记录最小值最大值平均值不需要过多的存储资源,而记录直方图需要较多的存储资源所以一般可以通过一定通讯接口发送到PC等进行存储分析。
CPU负载是一个比较关键的概念,一般RTOS中都有对应的接口可以获取,简单可以理解为CPU执行有效业务所占总时间的比例,可以换个思路用1-执行空闲任务所占比例来求。而计算需要选择一个合适的窗口时间来统计。
-
Jacktang 发表于 2024-7-14 07:26
结果应该是正确的吧
这一篇还没换算,下篇文章换算成最终结果了
-
怀揣少年梦 发表于 2024-7-10 16:37
默认就是5V_ST-LINK;但是还是识别不了。而且这个时候,MCU的BLINK的灯也不亮。大佬,你的板子是上电就会 ...
默认就是对的
-
怀揣少年梦 发表于 2024-7-10 16:04
大佬,我的H533识别不到ST-LINK,求指教一下。
5V跳线帽是设置在VBUS_STLINK上的
5V跳线放在5V_STLINK上试一下
-
秦天qintian0303 发表于 2024-7-9 07:13
ST现在都是这样的包装,不过ST的外部装如果在厚一点就更好了
是的,快递过来外部盒子都压扁了,有些长的针脚都顶出静电袋了。
-
数码小叶 发表于 2024-7-8 22:35
系统章节中,进程和线程的区别?
以学校时就学习过的概念,一句话总结就是
进程是资源分配的最小单位(即进程拥有独立的堆等资源);
线程是代码运行的最小单位(即任意一个时刻只有一个线程独占CPU运行(对于单核而言),多个线程轮流占用CPU运行)
-
nemon 发表于 2024-7-5 13:59
如何自定义信号处理程序?
使用信号SIGUSR1和SIGUSR2创建自己的定义
-
lugl4313820 发表于 2024-7-8 07:05
占了4K的缓冲区,太大方了吧。
可以按需调整,这个芯片ram大,可以豪横点,一般情况都只舍得128,256字节,小气惯了用到资源丰富的芯片败家一把。
-
lugl4313820 发表于 2024-7-8 07:03
以上实现了标准输入输出交互后面就方便进行开发调试了。
这是跑在RTHTEADx操作系统下面的吧。
是的
-
数码小叶 发表于 2024-7-1 15:48
流水线小节,提到的分支预测单元机制,该机制的原理是什么?
一般的思想就是根据历史情况进行猜测,
最简单的就是猜测本次跟上一次的分支跳转一致,
只需要一个bit记录上一次分支跳转方向,本次和上一次一样即可。
当然也可以使用更多bit记录更多的历史信息,使用状态机根据历史信息来进行判决。
打个比方就是今天下雨了,猜测明天也会下雨,连续下雨了,猜测后面还会下雨概率也大。
-
个人信息无误,确认可以完成测评分享计划