当前位置: 首页 > news >正文

11.物联网操作系统内存管理

一。STM32编译过程及程序组成

STM32编译过程

程序的组成、存储与运行

MDK生成的主要文件分析

1.STM32编译过程

1.源文件(Source code)--》目标文件(Object code)

         .c(C语言)通过armcc生成.o,.s(汇编)通过armasm生成.o

2.Object code(目标文件)--》image(镜像文件)

        .o通过armlink生成.rlf,.axf,.map

3.image(镜像文件)--》Flash format(可烧写文件)

        通过fromelf生成.bin(二进制文件),.hex(ASCII文件)

(2)实例

随便打开一个工程,点击运行,运行结果的第一行有个地址,进入这个地址 。这个地址中就是用来编译的文件。

补充:armar.exe是可以把C语音改成固件库,就是移植程序时,不想复制C语言文件,直接封装成固件库

2.程序的组成,存储与运行

(1)程序组成

 (2)程序运行程序

开始运行程序,就从xx.s中找到,开始运行__main(注意不是main),然后开始运行第一个图片

补充:生成反汇编指令  fromelf --text -c --output LedTask\LedTask.text LedTask\LedTask.axf

这个命令来生成汇编指令,是发现bug之后实在改不了,就看这个汇编

注意:未知原因,没有生成成功,地址不对可能

3.MDK生成的主要文件的分析

(1)map文件分析

1、Section Cross References

2、Removing Unused input sections from the image.

3、Image Symbol Table

4、Memory Map of the image

5、Image component sizes

         会生成一个map文件,打开之后,可以看到程序使用了什么头文件,代码量在中断还是串口输出,还是FREERTOS。通过参考map改进代码。

(2)set文件分析

 

(3)hex文件分析

 

(4)bin文件分析

生成bin文件  fromelf --bin --output LedTask\LedTask.bin LedTask\LedTask.axf

 

相关文章:

11.物联网操作系统内存管理

一。STM32编译过程及程序组成 STM32编译过程 程序的组成、存储与运行 MDK生成的主要文件分析 1.STM32编译过程 1.源文件(Source code)--》目标文件(Object code) .c(C语言)通过armcc生成.o,.s(汇编&…...

举办活动发布会,如何得到媒体支持?

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 举办活动发布会并得到媒体报道的支持是一个关键的宣传和推广手段。以下是一些建议,帮助你增加吸引媒体关注和报道的机会: 1. 策划新闻价值:确保你的发…...

1139 First Contact(unique函数,string.substr()函数)

PTA | 程序设计类实验辅助教学平台 用map套个set来实现邻接表&#xff08;排序都免了&#xff09; #include<bits/stdc.h> using namespace std; int n,m,k; string a,b; map<string,set<string>>mp; int main() {cin.tie(0);cin >> n >> m;fo…...

Python元编程-装饰器介绍、使用

目录 一、Python元编程装饰器介绍 二、装饰器使用 1. 实现认证和授权功能 2.实现缓存功能 3.实现日志输出功能 三、附录 1. logging.basicConfig介绍 2. 精确到毫秒&#xff0c;打印时间 方法一&#xff1a;使用datetime 方法二&#xff1a;使用time 一、Python元编程…...

python进程池的使用

进程池的创建 apply() apply()方法用于向进程池提交一个任务&#xff0c;并等待任务完成并返回结果。 apply_async() apply_async()方法用于向进程池提交一个异步任务&#xff08;即无需等待任务完成&#xff09;&#xff0c;将任务加入到进程池的队列里&#xff0c;并立即…...

Dockerfile构建lamp镜像

1、构建目录 [rootdocker ~]# mkdir compose_lamp [rootdocker ~]# cd compose_lamp/ 2、编写Docekerfile [rootdocker compose_lamp]# vim Dockerfile #基础镜像 FROM centos:7#维护该镜像的用户信息 MAINTAINER Crushlinux <crushlinux163.com>#安装httpd RUN yum -…...

LeetCode724. 寻找数组的中心下标

题干 给你一个整数数组 nums &#xff0c;请计算数组的 中心下标 。 数组 中心下标 是数组的一个下标&#xff0c;其左侧所有元素相加的和等于右侧所有元素相加的和。 如果中心下标位于数组最左端&#xff0c;那么左侧数之和视为 0 &#xff0c;因为在下标的左侧不存在元素。…...

【云计算 | Docker】Docker容器后台运行不了?entrypoint在作妖?

1. 问题 使用镜像alpine起个容器&#xff0c;使其保持后台运行&#xff0c;正常情况有如下的效果&#xff0c;可以发现容器保持运行状态。 [rootk8s-master helloWorld]# docker run -dit docker.io/alpine /bin/sh 8d39d7579d5e4f1a560aef16ba57ab5cae2506ea9105e21cbc0634…...

DAY02_Spring第三方资源配置管理Spring容器Spring注解开发Spring整合Mybatis和Junit

目录 一 第三方资源配置管理1 管理DataSource连接池对象问题导入1.1 管理Druid连接池1.2 管理c3p0连接池 2 加载properties属性文件问题导入2.1 基本用法2.2 配置不加载系统属性2.3 加载properties文件写法 二 Spring容器1 Spring核心容器介绍问题导入1.1 创建容器1.2 获取bean…...

烘焙小程序蛋糕店烘焙店源码点心店小程序源码

本系统开发使用JAVA技术栈开发 使用uniapp技术栈 支持微信小程序 &#xff0c;对接打印机&#xff0c;对接第三方同城跑腿平台 用户端使用&#xff1a;uniapp 管理端使用&#xff1a;vueelementui 后台服务使用&#xff1a;springbootjpa...

HarmonyOS 开发基础(五)对用户名做点啥

一、实现用户名检验 条件渲染 、生命周期 1.规定用户名长度 2.限定使用的数字及字母&#xff08;涉及正则表达&#xff09; // 导出方式直接从文件夹 import MyInput from "../common/commons/myInput" Entry Component /* 组件可以基于struct实现&#xff0c;组件…...

【前端】搭建Vue3框架

目录 一、搭建准备二、node.js安装1、下载并安装2、配置默认安装目录和缓存日志目录①、创建默认安装目录和缓存日志目录&#xff08;我的node.js目录在D盘&#xff0c;所以直接在node.js文件夹下创建&#xff09;②、执行命令&#xff0c;配置默认安装目录和缓存日志目录到刚才…...

Opencv-C++笔记 (15) : 像素重映射 与 图像扭曲

文章目录 一、重映射简介二、图像扭曲 一、重映射简介 重映射&#xff0c;就是把一幅图像中某位置的像素放置到另一图像指定位置的过程。即&#xff1a; 在重映射过程中&#xff0c;图像的大小也可以同时发生改变。此时像素与像素之间的关系就不是一一对应关系&#xff0c;因…...

【Java】UWB高精度工业人员安全定位系统源码

基于VueSpring boot前后端分离架构开发的一套UWB技术高精度定位系统源码。 UWB高精度人员定位系统提供实时定位、电子围栏、轨迹回放等基础功能以及各种拓展功能,用户可根据实际需要任意选择搭配拓展功能。该系统简易部署&#xff0c;方便使用&#xff0c;实时响应。UWB高精度定…...

文本NLP噪音预处理(加拼写检查)

最近总结修改了下预处理方法&#xff0c;记录下 首先download需要的依赖 pip install pyenchantpip install nltk pyenchant 是用来检测拼写正确的&#xff0c;如果你的文本里面可能包含非正确拼写的单词&#xff0c;那就忽略它&#xff0c;nltk用来做分词的。 python -m nlt…...

[Docker实现测试部署CI/CD----自由风格的CI操作[最终架构](5)]

目录 11、自由风格的CI操作&#xff08;最终&#xff09;Jenkins容器化实现方案修改 docker.sock 权限修改 Jenkins 启动命令后重启 Jenkins构建镜像推送到Harbor修改 daemon.json 文件Jenkins 删除构建后操作Jenkins 添加 shell 命令重新构建 Jenkins通知目标服务器拉取镜像目…...

纯JS+Vue实现一个仪表盘

在使用canvas的时候发现数值变化&#xff0c;每次都要重新渲染&#xff0c;值都从0开始&#xff0c;这和我的需求冲突。 1. 先绘制基本的圆环背景&#xff0c;利用border-color和border-radius将正方形变成基本的圆环。 <div class"circle"><div class&qu…...

标定(内参、外参)

在计算机视觉中&#xff0c;特别是在相机标定和立体视觉领域&#xff0c;内参&#xff08;intrinsic parameters&#xff09;和外参&#xff08;extrinsic parameters&#xff09;是非常重要的概念。它们与相机的几何属性和姿态有关。 内参&#xff08;Intrinsic Parameters&am…...

基于ffmpeg与SDL的视频播放库

由于工作需要&#xff0c;自己封装的基于ffmpeg的视频编解码库&#xff0c;显示采用了SDL库。可以播放本地文件或网络流&#xff0c;支持多端口播放&#xff0c;支持文字叠加&#xff0c;截图、视频录制等等。 头文件代码&#xff1a; #pragma once #ifdef __DLLEXPORT #defin…...

基于二进制草蝉优化算法选择特征并使用 KNN 进行训练(Matlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f468;‍&#x1f4bb;4 Matlab代码 &#x1f4a5;1 概述 基于二进制草蝉优化算法选择特征并使用KNN&#xff08;K-Nearest Neighbors&#xff0c;K最近邻算法&#xff09;进行训练是一种…...

从原理图到PCB:STM32最小系统外围电路布局布线实战避坑指南

从原理图到PCB&#xff1a;STM32最小系统外围电路布局布线实战避坑指南 在嵌入式硬件开发中&#xff0c;设计一个可靠的STM32最小系统PCB远比绘制原理图更具挑战性。许多开发者能够正确连接原理图符号&#xff0c;却在将设计转化为实际电路板时遭遇各种问题——从莫名其妙的复位…...

ElevenLabs印地文语音质量崩塌真相(印地语TTS失效深度溯源):7类发音错误+5个未公开参数修复方案

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;ElevenLabs印地文语音质量崩塌的全局现象与影响评估 近期&#xff0c;ElevenLabs平台在印地语&#xff08;Hindi&#xff09;TTS合成任务中出现系统性语音质量退化&#xff0c;表现为音素错读、韵律断裂…...

多角色对话配音方案:顶伯 一键生成有声剧,支持角色区分

多角色对话配音方案&#xff1a;顶伯 一键生成有声剧&#xff0c;支持角色区分在制作有声剧、播客或短视频时&#xff0c;多角色对话配音往往是最耗时的一环。传统方法需要为每个角色分别录制、剪辑、混音&#xff0c;不仅效率低下&#xff0c;还容易因音色不统一而影响沉浸感。…...

如何高效下载AnyFlip电子书:一键转换为PDF的完整指南

如何高效下载AnyFlip电子书&#xff1a;一键转换为PDF的完整指南 【免费下载链接】anyflip-downloader Download anyflip books as PDF 项目地址: https://gitcode.com/gh_mirrors/an/anyflip-downloader 你是否曾在AnyFlip上找到一本精彩的电子书&#xff0c;想要永久保…...

告别手动翻日志!用Log Parser 2.2 + Login工具,5分钟自动化分析Windows安全事件

从日志泥潭到智能洞察&#xff1a;Log Parser与Login工具的高效协同实战 Windows安全事件日志就像一座未经开采的金矿&#xff0c;每天产生海量的4624、4625等登录事件记录。传统的手动翻查不仅效率低下&#xff0c;还容易遗漏关键安全线索。本文将带你突破手工操作的瓶颈&…...

OpenHarmony FA启动机制全解析:从本地到远程的分布式能力实现

1. 项目概述&#xff1a;从“点击图标”到“界面呈现”的旅程当我们谈论一个应用在OpenHarmony上的启动&#xff0c;尤其是FA&#xff08;Feature Ability&#xff0c;特性能力&#xff09;的启动时&#xff0c;很多人脑海里浮现的可能是“用户点击图标&#xff0c;然后应用打开…...

chatgpt-web-midjourney-proxy的TypeScript类型系统:类型安全的AI应用开发

chatgpt-web-midjourney-proxy的TypeScript类型系统&#xff1a;类型安全的AI应用开发 在当今AI技术快速发展的时代&#xff0c;如何构建稳定可靠的AI应用成为开发者面临的重要挑战。chatgpt-web-midjourney-proxy项目通过精心设计的TypeScript类型系统&#xff0c;为开发者提供…...

词达人自动化助手终极指南:10倍提升英语学习效率的Python工具

词达人自动化助手终极指南&#xff1a;10倍提升英语学习效率的Python工具 【免费下载链接】cdr 微信词达人&#xff0c;高正确率&#xff0c;高效简洁。支持班级任务及自选任务 项目地址: https://gitcode.com/gh_mirrors/cd/cdr 核心关键词&#xff1a;词达人自动化助手…...

AI写论文必备指南!4款AI论文生成工具,让论文写作事半功倍!

写期刊论文是不是让你感到特别困难&#xff1f; 面对大量的文献、繁琐的格式要求&#xff0c;以及不断的修改&#xff0c;许多学术工作者都感到效率低下。别担心&#xff0c;接下来我们将介绍4款实测的AI论文写作工具&#xff0c;它们能够帮助你轻松生成论文。从文献检索、论文…...

剪映自动化终极指南:用Python代码解放你的视频创作时间

剪映自动化终极指南&#xff1a;用Python代码解放你的视频创作时间 【免费下载链接】JianYingApi Third Party JianYing Api. 第三方剪映Api 项目地址: https://gitcode.com/gh_mirrors/ji/JianYingApi 还在为重复的视频剪辑工作烦恼吗&#xff1f;每天花几个小时在剪映…...