STM32 裸机 Blink 的坑 你确定你的向量表能跑起来 一句话:从零写一个 STM32F103 的裸机 Blink 很简单,但 binary 里的向量表字节顺序错了,你的芯片根本不会跑。前言很多嵌入式开发入门都是从 HAL 库或者标准外设库开始的 —— 点个灯,调个时钟,看个寄存器。这些都没问题,但如果你像我一样曾经好奇过"不用库,纯裸机能有多复杂",那你大概率会碰一下arm-none-eabi-gcc+ 裸机工程。上周我写了一个最精简的 STM32F103 Blink,main.c不到 30 行,startup 用纯汇编写的,linker script 自己手搓。整个工程编译通过,size一看才 120 字节,感觉稳了。结果用xxd看了一眼 hex 的前几字节 —— 发现向量表压根没在 binary 开头。这篇文章就是记录这个坑和它的解决方案。一、极简裸机工程长什么样先交代一下我在做什么。这是嵌软世界最经典的 Hello World:PC13 引脚接了一个 LED,低电平点亮。main.c#defineRCC_APB2ENR(*(volatileunsignedint*)0x40021018)#defineGPIOC_CRH(*(volatileunsignedint*)0x40011004)#defineGPIOC_ODR(*(volatileunsignedint*)0x4001100C)voiddelay(volatileunsignedintcount){while(count--);}intmain(void){/* 1. 使能 GPIOC 时钟(APB2 上的第 4 位) */RCC_APB2ENR|=(1l

相关新闻

最新新闻

“妹妹出没”系统实战:ESP32人体感应与MQTT消息推送

“妹妹出没”系统实战:ESP32人体感应与MQTT消息推送

“妹妹出没”这个名字来自一个很具体的家庭需求:想知道孩子或住在同一屋檐下的妹妹几点到家、什么时候出门,又不想在门口安装摄像头。把它做成技术项目,本质就是一套“人体存在检测 出入事件记录 手机消息推送”的家庭自动化小系统。本文会…

2026/8/31 5:14:38
高校私有化部署大模型实践:从GLM-5.2到校园数字服务

高校私有化部署大模型实践:从GLM-5.2到校园数字服务

前一阵帮上海某高校做了一次私有化部署,模型是智谱GLM-5.2。需求本身不算复杂:学校信息办不想让师生在校内用大模型时,把论文数据、教务数据、科研预研材料送到第三方公开接口,于是决定在自己机房部署一套可用的大模型服务&#x…

2026/8/31 5:14:38
kotlin 扩展函数的作用域

kotlin 扩展函数的作用域

核心规则一句话:扩展函数定义在哪里,决定了它在哪里可见、在哪里可调。Kotlin 里有三种定义位置,作用域行为完全不同。 三种定义位置 ① 顶层扩展——最常见,到处可用 // StringUtils.kt 文件顶层 fun String.shout(): String up…

2026/8/31 5:14:38
Python Flask+Vue+随机森林:医疗疾病数据分析大屏全栈实战

Python Flask+Vue+随机森林:医疗疾病数据分析大屏全栈实战

简介:本资源是一套面向本科毕业设计与课程综合实践的医疗健康领域数据分析可视化系统,聚焦疾病数据挖掘与大屏展示全流程,适用于计算机、医学信息工程等专业学生开展项目实战与算法应用学习。系统采用Flask构建后端API服务,Vue实现…

2026/8/31 5:14:38
脑电情绪识别深度学习模型选型与实战:从CNN到BiGRU

脑电情绪识别深度学习模型选型与实战:从CNN到BiGRU

简介:本资源面向脑电信号处理与情绪识别方向的研究者及深度学习初学者,提供一套覆盖主流架构的EEG情绪识别模型实现方案,适用于DEAP、SEED等经典脑电数据集的建模与实验验证。压缩包共74个文件,包含57个Python核心脚本&#xff08…

2026/8/31 5:14:38
大厂C/C++笔试真题复盘:网易2020校招考点拆解与避坑指南

大厂C/C++笔试真题复盘:网易2020校招考点拆解与避坑指南

网易2020校招笔试 C开发工程师(正式批)复盘:真题拆解与避坑指南又到一年校招季,后台不少读者私信问大厂 C/C 岗笔试到底考什么。正好我电脑里还存着当年参加网易2020校招C开发工程师正式批的完整复盘笔记,趁着这个时间…

2026/8/31 5:09:38