C语言,相对于汇编有更好的可读性,便于维护等优点。下面实验将使用C语言实现点亮LED灯。C语言与硬件是紧密连在一起的,结合芯片中的flash和sram,简单了解C语言。
步骤:
- FLASH,就是存放.bin文件的地方。SRAM,用于存放程序的堆栈,全局变量。
- MEMORY,用于定义存储器范围。
- _data_start / _data_end,用于说明data段在flash中的位置,方便程序将data段从flash中复制到sram中。
- _ram_data_start,表示data段将复制到sram中的什么位置。
- ADDR(),表示获得SECTION的运行地址vma,当程序被下载到flash后,程序开始运行时首先要将data段移动到sram中0x20000400地址处,这样程序运行时才不会出错。
- LOADADDR(),表示获得SECTION的加载地址lma。
- SIZEOF(),用于求SECTION的大小
- 整个SECTIONS,可以看做是程序在flash中的布局,其中.bss不占用flash空间,它是由程序中开始运行时,在sram中开辟空间并初始化为0。
- 各个SECTION,如.vectors\.text\.rodata\.data\.bss,分别存放不同类型的数据。
本质就是C语言中的指针操作,volatile作用是确保本条指令不会因编译器的优化而省略。如代码“RCC_APB2ENR |= 0x00000010;”,表示向寄存器的第4位(从0位开始计数)写1。
文章整合自:CSDN
编辑:ymf
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
led
+关注
关注
243文章
24434浏览量
687416 -
STM32
+关注
关注
2305文章
11120浏览量
371142 -
C语言
+关注
关注
183文章
7642浏览量
144605
发布评论请先 登录
相关推荐
热点推荐
C语言特性
数据,实现对设备的精准控制,同时降低功耗,延长设备的使用寿命。
2、可移植性:跨平台的通行证
C 语言具有良好的可移植性,这意味着用 C 语言编写的程序可以在多种不同的硬件平台和
发表于 11-24 07:01
单片机的操作系统
抢占和轮转调度,适用于低资源消耗场景(如STM32F0系列)。
μC/OS-II :抢占式多任务内核,支持64个任务,内存分区管理避免碎片,中断嵌套深度达255层,适合工业控制系统
发表于 11-14 06:18
嵌入式实时操作系统的特点
。
低功耗和小尺寸:实时嵌入式操作系统通常要求运行时的资源占用较少,以适应嵌入式系统对功耗和尺寸的限制。
常见的实时嵌入式操作系统包括 FreeRTOS、ThreadX、Micrium μC
发表于 11-13 06:30
STM32C011开发(3)----Flash操作
STM32C011 系列微控制器内置 Flash 存储器,支持程序存储与数据保存,具备页面擦除、双字写入、读写保护等功能。本文将简要介绍 STM32C011 的 Flash 结构与特性,并通过实际代码示例,讲解 Flash 的擦
龙芯CPU与银河麒麟操作系统V11深度适配
近日,龙芯中科受邀参加“麒麟遨天·共承长”2025中国操作系统产业大会,见证银河麒麟操作系统V11的正式发布。龙芯桌面CPU(3A5000/3A6000)、服务器CPU(3C5000/3D5000
树莓派操作系统:版本、特性及设置完整指南!
树莓派操作系统是什么?树莓派操作系统是由树莓派基金会专为树莓派开发的官方操作系统。它基于DebianLinux发行版,并针对树莓派的ARM架构进行了专门优化。树莓派操作系统有多个版本,
鸿道Intewell操作系统:人形机器人底层操作系统
操作系统的实时性赋能东土科技的鸿道(Intewell)工业操作系统作为国内唯一通过汽车、工业控制、医疗、轨道交通四项功能安全认证的系统,为标准体系中的技术层架构提供了底层支持。其微内核虚拟化架构可将人形机器人电子架构成本降低50
KaihongOS操作系统:ArkTS语言基础
ArkTS语言基础
KaihongOS是面向全场景的万物智联技术底座,在OpenHarmony基础上技术创新和系统能力增强的跨设备的操作系统,它支持多种设备类型。ArkTS是KaihongOS
发表于 04-23 06:31
将树莓派作为PC使用的5大最佳操作系统!
如果你喜欢用RaspberryPi构建多个项目,那么仅通过更换microSD卡就能切换发行版这一功能简直太棒了。此外,RaspberryPi系列兼容众多操作系统,每个系统都有其独特的优势。随着新款
模型原生操作系统:机遇、挑战与展望 CCCF精选
本文立足人工智能时代用户、应用和系统的需求,分析“外挂式模型”演进路径下的操作系统发展困局,提出通过“模型-系统-芯片”的全栈协同设计来构建模型原生操作系统,并进一步探讨了面临的机遇与
鸿道Intewell操作系统的Linux实时拓展方案
鸿道Intewell操作系统是科东软件自主研发的新型工业实时操作系统,历经30多年研发积累,采用业界领先的微内核架构,具备高实时、高安全及强扩展的特性,是目前国内唯一通过汽车、工业控制、医疗仪器、轨道交通四项功能安全认证的操作系统
国产银河麒麟操作系统V10和星光麒麟V1.0操作系统如何选择?
国产银河麒麟操作系统和星光麒麟操作系统都是由中国电子旗下科技企业麒麟软件有限公司(简称“麒麟软件”)开发的国产自主可控的操作系统。麒麟软件介绍:麒麟软件以安全可信操作系统技术为核心,面
云服务器选择什么操作系统好?
云服务器选择什么操作系统好?选择云服务器操作系统需考虑业务需求、兼容性、安全性、易用性及成本。Linux系统如CentOS、Ubuntu和Debian因稳定、免费且社区支持强大而受欢迎;WindowsServer适合运行特定Wi
普华车用操作系统与黑芝麻智能武当C1200家族芯片完成适配
普华灵智安全车控操作系统(AUTOSAR CP)和普华灵思智能驾驶操作系统(AUTOSAR AP)已与黑芝麻智能武当C1200家族芯片完成适配。
deepin操作系统介绍
希望从自己的能力和对桌面操作系统的理解,能给 Linux 的用户与开发者更多的选择。我们也相信 deepin 能够得到更多用户的认可与喜爱,成为开源世界的最佳选择。 一、 deepin 操作系统 先说 Linux 操作系统,它

STM32操作系统系列使用C语言的教程
评论