hehung

    1. 一般的AUTOSAR嵌入式系统中,软件并不是由一个公司完成,不同的组件软件会由不同公司提供,这种情况下如何保护第三方组件的安全,有几种方式?
    2. AUTOSAR中的时间参数有哪些?
    3. luyism 发表于 2024-8-20 14:14 在开发过程中可以利用哪些工具和技术来满足时间需求,又如何在最终产品中持续监控时间性能?
      在开发过程中可以利用哪些工具和技术来满足时间需求: 可以通过访谈确定时间需求,按顺序采访涉及的函数开发人员、网络专家和集成人员获取时间需求,并给出了时间需求的文档格式(Page 204)。AUTOSAR可以使用TIMEX的形式将时间需求纳入需求规范,非AUTOSAR项目则可以以书面形式记录。 对方法和工具的要求(软件检测在功能安全相关的项目中是必要的): 可以通过时间测量、追踪、代码仿真和/或静态代码分析来确定和监测 CET。对于调度层级的时间参数(例如响应时间、时间差 DT或 CPU 负载),可以使用时间测量、追踪、调度模拟和/或静态调度分析。甚至在硬件和软件可用之前,就可以使用基于仿真和模型的方法,可以在较短的评估周期内快速评估不同的配置。通过测量和追踪,可以深入了解不受模型或仿真限制的可能存在的任何错误或缺点影响的真实系统。 如何在最终产品中持续监控时间性能: 一种时间验证方式是看门狗。看门狗需要定期重置计数器,没有重置计数器,则会复位。如果软件由于错误而“挂起”,则计数器不会复位,看门狗也将触发软件重置。软件应具有在初始化过程中确定上次复位原因的能力。 但是看门狗未重置并不意味着系统没有时间问题。看门狗只是最后的一道保障。所以需要常规时间测量作为基础,对时间的监控会更加清晰。用户可以在运行时确定和监测特定的时间参数。最小值和最大值可以有在非易失性存储器(例如NVRAM或EEPROM)中,并在以后访问入式系统时读出。如果非易失性存储器具有足够的空间,则可以在观测到不符合时间需求时永久储存追踪图表。
    4. 如何针对存储器的使用做时间上的优化?
    5. 多核下,如何确保数据一致性,有哪些方法
    6. 6.4章节,遗漏及重复的传感器数据中,CAN报文周期设置为了10ms接收一次,为什么还会出现CAN报文时不时丢失的问题,而且不同的ECU报文丢失的时间间隔还不相同?
    7. 调度模式的原理和工作方式是什么
    8. Jacktang 发表于 2024-7-23 07:25 所需的电压和时钟频率成正比,所需的功率岁频率的增加而提高三倍 为什么是提高三倍
      这是书中的解释:  
    9. 本章首先介绍了不使用操作系统的优势,以及使用操作系统的优势,还介绍了OSEK/VDX和POSIX这两种规则的操作系统,都是汽车行业会使用的。对协作式和抢占式多任务做了利弊分析,最后讲解了POSIX中的进程和线程。 本章节介绍的相对简单,因为一个学习一个系统不是一个短短的章节就能说明清楚的,作者只是找出了系统中最重要的部分做了分析说明,相对系统进一步掌握,还需要专门的查看相关文档。
    10. 逻辑执行时间如何解决多核通信的时候存在的数据发送和接收时间不确定的问题?
    11. 秦天qintian0303 发表于 2024-7-7 08:29 如果任何一个嵌入式系统都通过这个理论去分析,能带来什么好处啊
      这个章节讲解的理论是关于时间的,通过这个理论可以统计出软件中各个环节暂用的时间长短,然后针对长时间的任务或者片段做优化,可以帮助快速定位耗时任务。嵌入式软件一般最关注最大CPU占用率分,析出来可以知道CPU最大占用率是多少,能不能cover住最坏情况的的功能处理,这些都可以帮助定位出时间消耗最大的部分,便于后期做定向优化
    12. 本帖最后由 hehung 于 2024-7-2 09:15 编辑 本章主要介绍了: 处理器的架构分类:CISC(复杂指令集)和RISC(精简指令集); 代码执行:微处理器会不断地处理机器指令,这些指令按照顺序从代码存放位置(FLASH或者RAM)加载到执行单元。只要没有跳转指令或调用函数的指令,一旦完成一条指令的处理,PC就会增加一个内存位置,指向下一条要执行的指令地址,该指令会被加载到执行单元,然后被解码和执行。 寻址方式:寻址模式描述了如何访问存储器,每次内存访问都需要定义要访问的地址以及应该如何处理该地址上的数据,包括存储数据到地址,从地址读出数据,跳转到地址或者从地址中调用子程序等。 缓存:缓存的目的是减少存储器访问的开销。每个缓存区分为若干缓存行,每一行的大小是几十个字节,主存储器的大小一般是缓存的整数倍,向缓存传输数据或者从缓存读取数据都是突发访问,用于传输整个缓存行。 流水线: Fetch:取指,从存储器或缓存区加载指令 Decode:解码,解析操作码 Execute:执行命令 Write-back:回写结果(若需) 中断:中断就是一段代码,不会被软件调用,而是由硬件事件触发。 异常:比中断有更高的优先级,一般都是由处理器检测到了错误才会触发,每种处理器设计的异常是不一样的。 数据一致性等。 该章节讲解的都是一些基本的知识,只能作为了解,因为该章节中的每一个小章节的内容,都需要单独专门讲解,想要了解的更清楚,需要查阅其他资料。 其中对嵌入式开发人员而言,最重要的就是数据一致性问题,一般对于不能原子操作的指令(一个CPU周期内完成的)都会存在数据一致性的问题,这就需要通过一些手段来解决,最常用的就是:在可能出现数据一致性的代码之前,关闭全局中断,再在代码之后开启全局中断。  
    13. 常见泽1 发表于 2024-6-24 13:31 从源代码到执行文件需要哪些步骤    
      需要经过如下步骤:预编译 -> 编译 -> 汇编 -> 链接 -> 定位   这几步。 预编译过程:预编译会处理所有的预编译指令,比如#define, #include, #if, #else, #endif...,此过程会将所有的宏进行替换,读取#include包含的全部文件,然后从条件变异种删除不满足的代码; 编译过程:预编译的输出会传输给编译器,由编译器生成特定处理器的机器码(汇编代码),此过程并不会定义函数、便来那个、跳转地址等存储地址,只会以符号的形式存储; 汇编过程:汇编器将将编译之后的程序代码转换为二进制代码,即目标文件。该过程也不会定义函数、变量、跳转地址; 链接过程:链接器将汇编出来的目标文件整合到一个将要完成的程序中,只是仍然没有具体地址。链接过程也会整合一些外部引用库文件,比如.a或者.lib的函数库文件。链接过程也会解析使用到的所有符号(比如函数),会在整合的所有对象中搜索符号,如果搜索到了,则会解析对该符号的引用,如果整合文件中没找到,则会在包含的库文件中查找。如果所有地方都没有搜索到,则会提示“unresolved external <symbolname>”;如果在多个目标文件中都搜索到了,则会提示“redefinieiton of symbol <symbolname>”; 定位过程:定位器就是为每一个符号的存储地址进行分配,定位器的输出文件是可执行文件(一般为hex、s19、elf等),一般开发工具中,都将定位器和链接器合并了,统称为链接器。一般工具还可以创建一个map文件,其中包含所有符号的存储位置列表,方便程序员查看。
    14. 个人信息无误,确认可以完成阅读分享计划
    15. 吾妻思萌 发表于 2024-1-4 11:51 看看时间都花在哪里了?
      主要是mediapipe计算会消耗一些时间
    16. 吾妻思萌 发表于 2024-1-2 14:32 我又想了下,你这个有延时那咋控制机械臂啊?岂不是一点都不跟手?
      是的,不跟手,所以操作起来有点困难,没办法呀,性能就这样
    17. 吾妻思萌 发表于 2024-1-2 11:53 没试过帧率,看起来不卡,但是延迟比较高,我手上的动作做完了,树莓派这边会延迟2秒左右显示 [/quote] ...
      昨晚试了下,确实很低,才5,6左右,只能靠眨眼补帧了
    18. Jacktang 发表于 2024-1-2 07:50 用python版本的mediapipe来实现手势识别整不错么
      python+mediapipe构建比较简单
    19. wangerxian 发表于 2024-1-2 09:44 检测手势需要自己去一个点一个点判断吗?
      简单的方法就是使用关键点来判断,我就是用的这种方式
    20. 吾妻思萌 发表于 2024-1-2 09:28 帧率多少啊?我的pi贼卡,最高20帧
      没试过帧率,看起来不卡,但是延迟比较高,我手上的动作做完了,树莓派这边会延迟2秒左右显示

统计信息

已有242人来访过

  • 芯积分:461
  • 好友:--
  • 主题:117
  • 回复:165

留言

你需要登录后才可以留言 登录 | 注册


myk523 2021-6-15
这个的例程还有吗,麻烦指导一下834410355@qq.com
查看全部