编程基础知识
内存分布的情况和编程的一些基础重要的点(c和c++)
链接文件和启动文件
在STM32的嵌入式开发中,链接文件(.ld文件)和启动文件(startup file)是两个非常重要的部分。它们分别负责程序的内存布局和初始化过程。下面是对这两个文件的分析:
链接文件 (.ld文件)
链接文件是用来描述内存映射的,也就是告诉编译器程序应该放在STM32的哪个内存地址以及指定程序应该如何映射到内存中。它定义了程序代码、全局变量、静态变量等在内存中的布局。链接文件中最重要的部分是SECTIONS,它定义了程序应该如何映射到内存中。例如,代码应该放在哪个地址,数据应该放在哪个地址,中断向量表应该放在哪个地址等。
以下是关于STM32中链接文件的一些重要信息和概念:
ENTRY和EXIT:在链接文件中,ENTRY和EXIT指令用于定义程序的入口点和出口点。ENTRY指令指定了程序开始执行时的入口点,通常是Reset_Handler函数。EXIT指令则定义了程序的退出点,通常指向main函数的结束处。
MEMORY和SECTIONS:MEMORY指令用于指定内存区域的起始地址和大小。SECTIONS指令则用于描述程序应该如何映射到这些内存区域中。例如,代码应该放在哪个内存 ...
视频监控项目
1不需要编写代码
在buildroot中配置,编译;或者下载源码进行编译,移植到开发板
MJPG-streamer方案的实现
编译安装MJPG-streamer使用Buildroot编译
执行命令:mjpg_streamer -i “/usr/lib/mjpg-streamer/input_uvc.so -d /dev/video1 -f 30 -q 90 -n” -o “/usr/lib/mjpg-streamer/output_http.so -w /usr/share/mjpg-streamer/www”
确保PC或手机,跟开发板处于同一个局域网 假设开发板IP为:192.168.1.6在chrome浏览器中打开:192.168.1.6:8080/stream.html就可以看见视频了
流媒体方案的实现之ffmpeg,Nginx
下载源码,手工编译使用Buildroot
或配置选择ffmpeg,直接编译生成映象文件
执行命 ...
PC性能监测
简介hardware monitor:一个显示 PC 运行状态监测的站台,通过上位机将 PC 端的 CPU 温度、CPU 占用率、内存占用率、GPU 温度和实时网速等信息采集后下发到MCU,MCU通过 OLED 将其显示出来。
此项目在vscode中进行开发编译,使用rt-thread操作系统。
PCB:
经过简化打的PCB
驱动代码:led.c
1234567891011121314151617181920212223242526static uint8_t led_enable = 0;static uint16_t pwm = 2001;static uint8_t flag = 0;static rt_uint8_t led_breath_thread_stack[154];static struct rt_thread led_breath_thread;void led_breath_entry(void *parameter);void led_init(){ rt_err_t ret = RT_ERROR; config_t config = g ...
智能家居
简介:项目包含对下位机(MCU对外设数据读取与控制),上位机(APP端),云端(云服务平台)的设计。下位机选取正点原子STM32MINI板作为MCU;外设有LED灯,DS18B20温度传感器,ESP8266,OLED;上位机为制作APP;云端选用中国移动旗下的OneNet平台作为服务器。
引脚:1234567891011121314151617181920212223LED:PA8(自带)DS18B20:VCC --> 3.3VGND --> GNDDATA-->PA0ESP8266:VCC --> 3.3VGND --> GNDRX--> PA2TX --> PA3RST --> PC13EN --> 3.3VOLED:VCC --> 3.3VGND --> GNDSCL --> PC0SDA --> PC1RES --> PC2DC --> PC3
接线图:
OneNet平台使用注册OneNet平台账号
登入后选择控制台,进入后点击全部产品服务,选择多协议接入;(我们使用MQTT,既可以上 ...
TBOX--DV(设计验证)
AE-VIT 软件二部
1. 概述
描述TBOX DV 实验的整体系统方案、硬件模块的检测逻辑,各模块的通信方案。定义 OPEN 与 MCU 之间的通信协议,OPEN 与负载之间的通信协议,以及 MCU 与负载之间的 CAN 通信协议。
2. 名词解释
DV - Design Verification 设计验证
DUT - Device Under Testing 被测单元
负载 - TODO
上位机软件 - TODO
3. 试验目的
DV 是用来验证研发设计的产品各个硬件模块在特定情况下是否能够正常工作,即验证硬件设计的可行性。
4. 程序设计
5. 模块检测
5.1.说明
5.2. CAN
5.3. LIN
5.4. 整车信号检测
5.5. 驱动输出
5.6. 数据采集
5.7. E/BCALL
5.8. MUTE
5.9. Airbag
5.10. G-Sensor
5.11. 备用电池
5.12. EEPROM
5.13. PPS
5.14. TPMS
5.15. 天线
5.16. Modem
5.17. WIFI
5.18. GPS
5.19. IMU ...