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
+关注
关注
244文章
24739浏览量
692766 -
STM32
+关注
关注
2313文章
11197浏览量
374810 -
C语言
+关注
关注
183文章
7648浏览量
146227
发布评论请先 登录
相关推荐
热点推荐
兆芯全系列CPU深度适配统信桌面操作系统V25
这款号称国内操作系统里程碑式版本的统信桌面操作系统V25在智能化、高效性、可靠性三个维度实现了突破,推动国内操作系统从“可用”全面迈向“成熟与智能”的发展新阶段。V25桌面操作系统与兆
操作系统体系结构
操作系统的体系结构是一个开放的问题。正如上文所述,操作系统在核心态为应用程序提供公共的服务,那么操作系统在核心态应该提供什么服务、怎样提供服务?有关这个问题的回答形成了两种主要的体系结构:大内核和微
发表于 01-15 08:19
操作系统运行机制
计算机系统中,通常CPU执行两种不同性质的程序:一种是操作系统内核程序;另一种是用户自编程序或系统外层的应用程序。对操作系统而言,这两种程序的作用不同,前者是后者的管理者,因此“管理程
发表于 01-15 07:12
什么是嵌入式操作系统?
、嵌入式操作系统的定义
嵌入式操作系统是专门为资源受限的嵌入式设备(比如 STM32 单片机、物联网模块、工业控制器)设计的微型操作系统,核心作用是:管理硬件资源、调度多任务、提供标
发表于 12-09 10:33
C语言特性
数据,实现对设备的精准控制,同时降低功耗,延长设备的使用寿命。
2、可移植性:跨平台的通行证
C 语言具有良好的可移植性,这意味着用 C 语言编写的程序可以在多种不同的硬件平台和
发表于 11-24 07:01
龙蜥操作系统装机量突破1000万
11月17日,以“生态共融·智驱未来”为主题的2025龙蜥操作系统大会(OpenAnolis Conference)在北京成功举办。千余位全球技术大咖、业界精英和行业开发者齐聚一堂,深入探讨AI时代下操作系统产业发展的新趋势、新挑战与新路径,共话龙蜥社区引领
单片机的操作系统
抢占和轮转调度,适用于低资源消耗场景(如STM32F0系列)。
μC/OS-II :抢占式多任务内核,支持64个任务,内存分区管理避免碎片,中断嵌套深度达255层,适合工业控制系统
发表于 11-14 06:18
嵌入式实时操作系统的特点
。
低功耗和小尺寸:实时嵌入式操作系统通常要求运行时的资源占用较少,以适应嵌入式系统对功耗和尺寸的限制。
常见的实时嵌入式操作系统包括 FreeRTOS、ThreadX、Micrium μC
发表于 11-13 06:30
RusT-Thread:基于Rust面向资源受限嵌入式设备的操作系统的实践 | 技术集结
摘要随着物联网和嵌入式系统的发展,实时操作系统(RTOS)的安全性和性能需求日益提高。传统基于C语言的RTOS在内存安全和并发控制方面存在局限,容易导致缓冲区溢出、数据竞争等问题。本项
STM32C011开发(3)----Flash操作
STM32C011 系列微控制器内置 Flash 存储器,支持程序存储与数据保存,具备页面擦除、双字写入、读写保护等功能。本文将简要介绍 STM32C011 的 Flash 结构与特性,并通过实际代码示例,讲解 Flash 的擦
如何选择合适的实时操作系统
选择合适的实时操作系统(RTOS,Real-Time Operating System)可能会影响你在不同行业的职业发展路径。
龙芯CPU与银河麒麟操作系统V11深度适配
近日,龙芯中科受邀参加“麒麟遨天·共承长”2025中国操作系统产业大会,见证银河麒麟操作系统V11的正式发布。龙芯桌面CPU(3A5000/3A6000)、服务器CPU(3C5000/3D5000
树莓派操作系统:版本、特性及设置完整指南!
树莓派操作系统是什么?树莓派操作系统是由树莓派基金会专为树莓派开发的官方操作系统。它基于DebianLinux发行版,并针对树莓派的ARM架构进行了专门优化。树莓派操作系统有多个版本,
鸿道Intewell操作系统:人形机器人底层操作系统
操作系统的实时性赋能东土科技的鸿道(Intewell)工业操作系统作为国内唯一通过汽车、工业控制、医疗、轨道交通四项功能安全认证的系统,为标准体系中的技术层架构提供了底层支持。其微内核虚拟化架构可将人形机器人电子架构成本降低50
STM32操作系统系列使用C语言的教程
评论