-
HAL库入门
HAL库入门stm公司的芯片有Cotex-M3, M4, M7的芯片(F1/F4/F7/H7), 有很多不同的芯片, 基于不同的架构, 使用HAL库对于平台的移植有很好的兼容性, HAL是硬件抽象层的概念, 不需要关心底层的硬件, 开发人员不需要关心硬件实现HAL库: 封装出来通用的接口, 大大提高代码通用性, 对于一个应用, 可以把它分为可以把一个应用分为: 硬件层, 驱动层, 中间件以及应用还可以使用工具CubeMX很方便的添加一些功能, 这一个组件通过HAL库与硬件进行交流, 第三方...…
-
加载器loader的实现
加载器loader的实现static void show_msg(const char * msg){ char c; while((c = *msg++) != '\0') { asm( "mov $0xe, %%ah\n\t" "mov %[ch], %%al\n\t" "int $0x10"::[ch]"r"(c) ); }} 具体的写法参照补充知识2获取内存信息Detect...…
-
引导程序:接管控制权
引导程序:接管控制权首先工作在16位实模式, 分页机制保护模式被禁止, 只可以使用1MB的内存, 之后会跳转到BIOS, 入口地址是0xffff:0x0000, BIOS这时候会进行自检, 检查硬盘,显卡,内存等,并保存一些参数,之后会加载引导程序到内存中, 运行引导代码, 之后按照引导代码进入操作系统首先BIOS会加载磁盘的第一个扇区**引导程序: ** 硬件检测: 检测内存容量, 检测硬盘的数量 进入保护模式: 16位实模式到32位保护模式, 实现4G内存的访问 加载操作系统 ...…
-
69
时钟…
-
多个文件编译
多个文件编译文件CCMakeList.txtidf_component_register(SRCS "hello_world_main.c" "my_function/print.c" INCLUDE_DIRS "") 假如要编译文件的路径…
-
Flash和psram的配置
Flash和psram的配置 使用扩展的SRAM的话这几个引脚就会被占用I (24) boot: ESP-IDF v5.0.4 2nd stage bootloaderI (25) boot: compile time 10:37:52I (25) boot: Multicore bootloaderI (27) boot: chip revision: v0.1I (31) qio_mode: Enabling default flash chip QIO//这里显示的是SPIFLAS...…
-
延时函数点亮LED
延时函数点亮LED#include <stdio.h>#include <inttypes.h>#include "freertos/FreeRTOS.h"#include "freertos/task.h"#include "esp_log.h"void app_main(void){ while(1){ //使用ESP的打印函数, 会输出这时候执行的时间 ESP_LOGI("main", "Hello world"); ...…
-
ESP-IDE
ESP-IDEESP-IDF(全称:Espressif IoT Development Framework) 是乐鑫官方推出的物联网开发框架,支持 Windows、Linux 和 macOS 操作系统,适用于 ESP32、ESP32-S、ESP32-C 和 ESP32-H 系列 SoC。它基于 C/C++ 语言提供了一个自给自足的 SDK,方便用户在这些平台上开发通用应用程序。ESP-IDF 目前已服务支持数以亿计的物联网设备,并已开发构建了多种物联网产品,例如照明、消费电子大小家电、支付...…