How to optimize Raspberry Pi code using its GPU
Views: 305
简谱识别(开坑)
接下来我们来解释一下示例脚本中三行代码的原理: 这行代码获取系统当前的CPU利用率,首先使用top -n1命令获取一次系统进程信息,然后使用管道符|将其输出传递给awk命令。awk命令用于匹配包含”Cpu(s)”的行,并提取该行的第二个字段(即CPU利用率)。最后,使用cut命令从CPU利用率中提取整数部分,以便进行比较。 这行代码获取系统当前的内存利用率,首先使用free命令获取系统内存信息,然后使用管道符|将其输出传递给awk命令。awk命令用于匹配包含”Mem:”的行,并计算已使用内存与总内存的比例,最后将其乘以100,以获取百分比形式的内存利用率。最后,使用cut命令从内存利用率中提取整数部分,以便进行比较。 这行代码获取系统当前的CPU温度,使用vcgencmd measure_temp命令获取CPU温度信息,然后使用管道符|将其输出传递给cut命令。cut命令用于提取温度值中等号=后面的数字,然后再使用cut命令从温度值中提取整数部分,以便进行比较。 总之,这些命令可以帮助您获取有关系统资源使用情况的信息,并以可读的方式显示它们。这些信息可以用于监视系统资源使用情况并执行相应的操作。在示例脚本中,我们将获取的信息与预定义的阈值进行比较,并根据需要启用GPIO引脚以执行相应的操作。比较运算符-gt用于比较数值,-eq用于比较相等性。 需要注意的是,vcgencmd命令是特定于Raspberry Pi的命令,用于获取与Raspberry Pi硬件相关的信息。如果您在其他系统上运行脚本,则需要使用其他命令来获取相应的硬件信息。 Views: 156
It is easy. All done Views: 146
MCU整体工作流程可总结如下:上电——>主时钟起振——>启动代码——>用户程序(main函数) MCU上电(复位)时,从固定的地址启动,一般是地址0x00000000,如ARM7;个别特殊的如STM32默认启动地址为0x8000000(flash区启动)。启动过程主要完成两部分工作,一个是硬件执行环境,如中断向量表、寄存器、看门狗等,另一个是软件环境,如C库环境、ZI(未初始化的内存变量)等。 第一种方式(boot0=0) Flash memory启动方式即 正常使用模式 启动地址:0x08000000 是STM32内置的Flash。中断向量表定位于FLASH区,即起始地址为0x8000000,同时复位后PC指针位于0x8000000处。 Flash Memory 是一种非易失性的存储器。在嵌入式系统中通常用于存放系统、应用和数据等。在 PC 系统中,则主要用在固态硬盘以及主板 BIOS 中。另外,绝大部分的 U 盘、SDCard 等移动存储设备也都是使用 Flash Memory 作为存储介质。 第二种方式(boot0=1 boot1=0)System memory启动方式即 串口下载模式(isp)烧录完需要接地才能正常使用。(需使用其他软件进行烧录如FlyMcu) 启动地址:0x1FFF0000从系统存储器启动。中断向量表定位于内置Bootloader区,此时可通过串口下载程序的二进制文件到flash区。 System memory 是MCU 中固定位置的一块区域,里面存放了一些固定的代码。这部分空间在出厂前的生产期间由…