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中的什么位置。
- 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
+关注
关注
242文章
23275浏览量
660820 -
STM32
+关注
关注
2270文章
10900浏览量
355943 -
C语言
+关注
关注
180文章
7604浏览量
136798
发布评论请先 登录
相关推荐
deepin操作系统介绍
希望从自己的能力和对桌面操作系统的理解,能给 Linux 的用户与开发者更多的选择。我们也相信 deepin 能够得到更多用户的认可与喜爱,成为开源世界的最佳选择。 一、 deepin 操作系统 先说 Linux 操作系统,它
基于无操作系统的STM32单片机开发附源码
现在非常多的的MCU性能都还不错,同时用户也会去扩展一些外部RAM,这样如果高效便捷的管理这些内存是一个重要话题。 今天给大家分享一份源码:基于无操作系统的STM32单片机开发,功能强大,可申请
linux是实时系统还是分时操作系统
大家平时玩单片机基本上对于µC/OS、FreeRTOS、ThreadX这些操作系统非常熟悉了,他们都属于实时操作系统(RTOS),在工业领域比较广泛;然而对于linux这样的基于时间片划分的非实时
linux操作系统安装步骤 linux操作系统的特点及组成
Linux操作系统安装步骤 Linux操作系统是一种开源的操作系统,它以其稳定性、安全性和灵活性而闻名。以下是安装Linux操作系统的一般步骤,以Ubuntu为例: 1. 准备工作 在
工控机支持什么操作系统
工控机,全称工业控制计算机(Industrial Personal Computer, IPC),支持多种操作系统以满足不同行业和应用场景的需求。具体来说,工控机常见的操作系统包括:
简单认识RTOS实时操作系统
RTOS(Real Time Operating System,实时操作系统)是一种专门设计用于在严格时间限制内处理任务的操作系统。它以其高实时性、多任务处理能力和资源管理能力在工业自动化、医疗设备、航空航天、汽车电子等众多领域得到广泛应用。以下是对RTOS实时
嵌入式实时操作系统:Intewell操作系统与VxWorks操作系统有啥区别
Intewell操作系统和VxWorks操作系统都是工业领域常用的操作系统,它们各有特点和优势。以下是它们之间的一些主要区别:
如何根据需求选择合适的新加坡VPS操作系统?
选择合适的新加坡VPS操作系统您需要考虑哪些因素,如何根据需求选择合适的新加坡VPS操作系统?rak部落小编为您整理发布选择合适的新加坡VPS操作系统需要考虑哪些因素。
基于鸿道(Intewell®)操作系统研发的农业机器人操作系统
江苏大学与科东软件联合研发“农业机器人操作系统”,并成立“农业机器人操作系统”联合实验室,奋力推进农业智能化,推动农业科技创新。“农业机器人操作系统”的技术革新,对提高农业生产效率、保护环境、应对农业劳动力短缺及促进智慧农业发展
C语言基础-为什么要使用C?
当今最流行的 Linux 操作系统和 RDBMS(Relational Database Management System:关系数据库管理系统) MySQL 都是使用 C 语言编写的
发表于 03-25 11:20
•442次阅读
c语言,c++,java,python区别
操作系统、嵌入式系统等对性能要求较高的场景。C语言的语法相对简单,学习曲线较平缓,也是学习其他高级语言的入门
评论