- 博客(18)
- 资源 (5)
- 收藏
- 关注
原创 GB/T 40855《电动汽车远程服务与管理系统信息安全技术要求及试验方法》的第1号修改单内容
GB/T 40855《电动汽车远程服务与管理系统信息安全技术要求及试验方法》的第1号修改单已于2024年12月20日由工业和信息化部科技司公示。此次修改主要涉及加密要求、身份认证要求以及安全启动试验方法的调整。
2025-03-31 16:27:18
339
原创 ucos ii 系统的OSTimeDlyHMSM() 函数详解
OSTimeDlyHMSM()是ucos ii里的一个高精度任务延迟函数,允许以时、分、秒、毫秒为单位指定延迟时间,比OSTimeDly()函数提供更加直观的时间控制。
2025-03-26 13:37:23
109
原创 ucos系统用户可使用的最低任务优先级
在 µC/OS-II 或 µC/OS-III 中,任务的优先级是一个重要的概念,优先级决定了任务的调度顺序。如果未启用了统计任务(OS_TaskStat),用户的最低优先级通常为 OS_LOWEST_PRIO - 1, 如果未启用了统计任务(OS_TaskStat),用户任务的最低优先级为 OS_LOWEST_PRIO - 2。空闲任务的优先级固定为 OS_LOWEST_PRIO。统计任务的宏OS_TASK_STAT_EN在 os_cfg.h 文件中定义,用于配置统计任务的行为定义统计任务。
2025-03-07 16:10:34
246
原创 FreeRTOS不同任务状态对功耗的影响
任务处于就绪状态时,虽然没有运行,但调度器会定期检查就绪任务,导致一定的功耗,其功耗低于运行状态,但高于阻塞或挂起状态。删除状态与挂起状态类似,但任务资源会被释放,任务在删除状态下不会运行,也不会消耗CPU资源,功耗最低。对于长时间不需要运行的任务使用挂起状态,在系统进入低功耗模式时,挂起所有非必要任务。任务在运行状态下会占用CPU资源,导致较高的功耗,是功耗最高的状态;尽量将任务逻辑拆分为小块,减少任务的运行时间,避免长时间占用CPU。任务在挂起状态下不会参与调度,完全停止运行,是功耗最低的状态之一。
2025-02-18 17:17:53
376
原创 Keil 点击右键无法跳转到函数定义的问题
如下图所示,“右键”-“Go To Definition of ...”的选项变成了黑色,可以点击并实现跳转。打开“Options for Target”对话框(通过点击工具栏上的魔术棒图标)。主要原因时因为Keil工程未生成浏览信息,Keil需要浏览信息来定位函数定义。在“Output”选项卡中,勾选“Browse Information”。重新编译项目以生成浏览信息。
2025-02-18 16:53:41
633
3
原创 __DSB()和__ISB() 学习笔记
先后调用执行,目的是在进入低功耗模式前,确保所有操作完成,避免未完成的内存访问或指令执行导致问题。在休眠唤醒之后,在恢复中断后,先后调用执行,确保处理器的状态是预期的,避免潜在的问题。__ISB()功能:刷新处理器流水线,确保在__ISB()之前的所有指令都执行完毕,之后的指令从内存重新读取;__DSB()功能:确保在__DSB()之前的所有内存访问指令(如:加载和存储)都完成后,才执行之后的指令;__DSB()和__ISB()是ARM架构中的内存屏障指令,用于控制指令和数据的执行顺序。
2025-02-14 16:28:40
211
原创 关于I2C上拉电阻阻值选择
在 I2C 总线设计中,上拉电阻的阻值选择非常重要,它直接影响信号的上升时间、功耗和通信可靠性。通过计算最大上拉电阻阻值,并参考典型值,可以选择合适的上拉电阻,确保 I2C 总线的信号完整性和通信可靠性。通信速度:I2C的通信速度包括标准模式100KHz、快速模式400KHz和高速模式3.4MHz,上拉电阻越小,通信速度越高。tr=0.8473✖Rp✖Cb,其中Rp是上拉电阻阻值,Cb是总线电容。总线电容:总线电容包括PCB走线电容,设备引脚电容和寄生电容。以快速模式400KHz、总线电容200pF为例,
2025-02-13 14:14:19
285
原创 mcu gpio开漏输出的理解
开漏输出的典型应用之二“电平转换”,开漏输出可以用于不通电压域之间的电平转换,例如将3.3V逻辑电平转换为1.8V逻辑电平,只需要将上拉电阻连接的1.8V电压即可;推挽输出是开漏输出以外的另一种gpio输出,推挽输出可以主动输出高电平和低电平,输出能力强,适合驱动负载,不能直接用于“线与”逻辑;开漏必须依靠外部电路的上拉电阻才能输出高电平,多个开漏输出可以连接到同一信号线上实现“线与”逻辑,当所有输出为高阻态时,信号线才会被上拉电阻拉高,否则只要有任何一个低电平,则信号线会被拉低。
2025-02-13 13:46:09
382
原创 mcu gpio驱动强度的理解
当寄存器值为0b000时,输出驱动强度时R0/2时,即驱动强度为R0的2倍,同理。R0/7即R0的7倍;(tips:驱动能力会影响功耗,在低功耗设计中,可以选择较低的驱动强度以降低功耗)当寄存器值为0b000时,输出驱动是被禁掉的,即高阻抗状态;
2025-02-11 17:57:30
369
原创 通过__NOP()实现MCU延时函数
_NOP()函数是一个“空指令”,虽然不执行操作,但占一个程序步,占用执行一个指令的CPU时间片。下面以600Mhz主频的MCU为例,实现秒级和毫秒级的延时函数。
2025-02-11 17:49:11
622
原创 arm linux gcc 交叉编译 sqlite3 的操作笔记
到此,已经完成arm linux交叉编译sqlite3库文件,并把库文件和头文件移植到arm linux sdk中。后续使用交叉编译器重新编译SDK,就可以把sqlite3库文件和头文件编译进SDK,把编译的镜像烧录到arm主板,这样就可以在arm 主板中使用sqlite3功能。CC:arm平台所使用的交叉编译工具,此次使用的是arm-openwrt-linux-uclibcgnueabi-gcc,需要配置环境变量,否则此次必须填写绝对目录。把lib文件夹下的库文件复制到交叉编译器sdk的lib目录下面;
2024-05-23 17:04:56
699
1
原创 Windows 11安装,配置adb工具,实测adb连接EC20模块
键盘输入WIN+R,输入cmd命令,打开cmd.exe窗口,输入adb shell指令,输入用户名和密码后,可以通过adb进入usb设备;有些usb设备的vid不支持,需要进行手段添加,电脑里搜索“adb_usb.ini”文件,在.android文件内,如下图所示。此电脑->右键->高级系统设置->环境变量->系统变量->变量Path->编辑->新建,按下图添加环境变量;此电脑->右键->高级系统设置->环境变量->系统变量->新建,按下图添加系统变量;通过usb线连接PC和EC20 OPEN模块;
2024-05-22 10:47:49
3000
原创 windows下的openssl-rsa功能演示
指令如下:通过openssl生成私钥并输出保持为“rsa_pri_pkcs8_key.pem”文件,生成的私钥为PKCS#8格式;
2023-11-15 17:38:15
678
2
原创 RT-thread 添加文件夹(模块)及文件夹内的*.c和*.h文件到mdk工程操作示例
官方建议把用户新建的源代码文件都放在applications文件夹里,但是在做项目时,代码一般比较多,这个时候我们需要新建一个或多个文件夹来分类放置代码,本文就是介绍并实操一下“RT-thread 如何添加新的文件夹(模块)到工程”,本文以“imxrt1061-forlinx-OK1061-S”工程代码为例。
2023-11-08 13:33:37
1532
1
S32K144开发板入门手册
2019-03-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人