51单片机如何用c语言位定义,嵌入式编程(一):51单片机如何将函数 定义到指定程序地址...-程序员宅基地

技术标签: 51单片机如何用c语言位定义  

在单片机编程使用中,会涉及到将某些函数定义到指定的code区。此时需要对工程文件进行配置修改才可完成。本期针对单片机平台做出说明介绍

1、测试目标

将函数testaddr定义到0x6000地址

2、测试环境

LKT4106加密芯片算法工程、KEIL-C51编译软件、

3、实现步骤

3.1 使用KEIL软件导入LKT4106算法工程(KEIL软件基本操作不再敷述,如不清楚请自行百度)

3.2 在App_Main.c文件中声明测试函数testaddr:

extern void testaddr(u8 xdata *in,u8 xdata *out,u8 len);

3.3 在App_fun.c文件中实现测试函数testaddr:

void testaddr(u8 xdata *in,u8 xdata *out,u8 len){

u8 i;

for(i=0;i < len;i++)

out[i]= in[i]+1;

}

3.4 在App_Main.c文件中调用测试函数testaddr,此处省略

3.5 编译算法工程后,在\LKT4106_AppDemo\Out\Bin\路径下找到 LKT4106_AppDemo.M51,打开该文件。

3.6 找到* * C O D E   M E M O R Y * * 部分,寻找到testaddr编译后存储的地址,注意:根据编译规则,testaddr函数会转换为大写格式,并加上函数所在文件的名称。本例中,编译后的默认地址如图1所示。

8aa8c579b451264cdb48410193657b11.png

图1. 默认编译链接地址

3.7 回到算法工程,选择Project->Options for Target ...->BL51 Misc,点击Edit按钮调出lin文件,如图2所示

2ec3a475a8bf609d5bb6884de66f4b89.png

图2. 打开lin文件

3.8 在LKT4106_App.lin文件中,按照下图所示,将testaddr函数指定到程序区的目标地址,本例将其由默认的0x48B0地址更改到0x6000地址,如图3所示。

6b1aceca02999bee44164086360ac3d5.png

图3. 更改目标函数存储的地址

3.9 编译算法工程,并重新打开LKT4106_AppDemo.M51文件,查看testaddr函数所在地址,如图4所示,该函数已经更换到0x6000地址上。

4e6e71df206553b6f8d9ffffec59e642.png

图4. 重定义后目标函数所在地址

至此,51单片机将函数定义到指定程序地址的方法已经实现。下一篇将介绍如何将ARM中的函数地址进行更改。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39595271/article/details/117144368

智能推荐

好程序员Java教程分享Java必学MySQL数据库应用场景_java开发加mysql字段场景-程序员宅基地

文章浏览阅读159次。  好程序员Java教程分享Java必学之MySQL数据库应用场景,在当前的后台开发中,MySQL应用非常普遍,企业在选拔Java人才时也会考察求职者诸如性能优化、高可用性、备份、集群、负载均衡、读写分离等问题。想要成为高薪Java工程师,一定要熟练掌握MySQL,接下来好程序员Java教程小编就给大家分享MySQL数据库应用场景知识。1、单Master单Master的情况是普遍存在的,对..._java开发加mysql字段场景

湘潭大学计算机科学与技术录取分数线,2016年湘潭大学计算机科学与技术专业在湖南录取分数线...-程序员宅基地

文章浏览阅读124次。类似问题答案2016年厦门大学计算机类(含计算机科学与技术、智能科学与技术、网络专业在湖南录取...学校 地 区 专业 年份 批次 类型 分数 厦门大学 湖南 计算机类(含计算机科学与技术、智能科学与技术、网络 2016 一批 理科 634 学校 地 区 专业 年份 批次 类型 分数 厦门大学 湖南 计算机类(含计算机科学与技术、智能科学与技术、网络 2016 一批 理科 6342016年湘潭大学..._2016湘潭大学计算机专业分数

如何自学android编程(一个大牛的经历, 以激励之)_java4android .zip 知乎-程序员宅基地

文章浏览阅读5.1k次,点赞3次,收藏15次。之前写了一篇博客 Android学习之路 被疯狂转发,带起了一阵学习Android的大风,我不晓得具体影响了多少人,但是这篇博客已经成为Android新手学习必备的资料。很多人问我是怎么一路过来的,姑且借这个机会说说我的故事吧。===============================内容有点长,大家姑且当做励志小说来看吧,对这些经历不感兴趣的可以直接看最后“如何自学Android_java4android .zip 知乎

java毕业设计球馆预约管理系统mybatis+源码+调试部署+系统+数据库+lw-程序员宅基地

文章浏览阅读446次。java毕业设计球馆预约管理系统mybatis+源码+调试部署+系统+数据库+lw。JSP基于JAVA的邮件过滤系统的设计与实现sqlserver。springboot基于SpringBoot的自助旅游导航系统。ssh基于java的网上手机销售管理系统的开发与实现mysql。jsp本科生实习管理系统的设计与实现sqlserver。JSP酒店餐饮管理系统的设计与实现sqlserver。JSP宠物食品店系统的设计与实现sqlserver。基于SSM框架的校园爱心公益平台的设计与实现。

iOS应用沙盒机制浅析_inhouse app sandbox-程序员宅基地

文章浏览阅读1.9k次。iOS应用程序只能在为该程序创建的文件系统中读取文件,不可以去其他地方访问,此区域被称为沙盒。所有的非代码文件都要保存在此,例如图像,图标,声音,属性列表(plist文件),文本文件等。沙盒机制作为一种安全体系,核心内容是:沙盒对应用程序执行各种操作的权限限制。(1)每个应用程序都有自己的存储空间;(2)应用程序不能翻过自己的围墙去访问别的存储空间的内容;(3)应用程序请求的数据都要通_inhouse app sandbox

eclipse 连接 mysql-程序员宅基地

文章浏览阅读4.5k次,点赞4次,收藏33次。连接时报错:Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the dri...

随便推点

pycharm中import caffe/caffe2-程序员宅基地

文章浏览阅读1.1w次。pycharm中import caffe/caffe2_import caffe

[AIGC] ComfyUI 节点解释_comfyui节点介绍-程序员宅基地

文章浏览阅读1.4k次,点赞2次,收藏4次。我们如何了解实际发生的情况以便我们可以创建和修改工作流程?要了解节点,我们必须了解一些稳定扩散的工作原理。让我们看一下默认的工作流程。如果您没有使用默认工作流程,或者您一直在搞乱界面,请单击右侧边栏上的“Load Default”。_comfyui节点介绍

C/C++:计算N的N次方的个位数(巧用快速幂与模运算性质)_用c++计算n的n次方-程序员宅基地

文章浏览阅读3k次,点赞6次,收藏18次。题目描述(源自杭电OJ):相关数学知识一:取模运算的性质a乘b的结果对p取模等于a对p取模的结果乘b对p取模的结果再整体取模于p,详见下图证明过程如下:相关数学知识二:快速幂运算 以求a的b次方为例,由于要乘b次a,此时的时间复杂度为O(b);如果要求a的的平方的b/2次,只需要乘b/2次(如果b是奇数,要再乘一个a),时间复杂度减半,以此类推,直到b=1时,此时的时间复杂度变成了log以2位到的b的对数,运算次数实现了最小化,时间复杂度为O(log以2为..._用c++计算n的n次方

(附源码)springboot+mysql+基于JAVA的学员代言人评选投票系统设计与实现 毕业设计161825_基于springboot的在线投票系统的源码有5000字代码吗-程序员宅基地

文章浏览阅读67次。学员代言人评选投票系统主要功能模块包括管理员、首页、站点管理(轮播图、公告栏)用户管理(管理员、普通用户、企业用户)内容管理(投票资讯、资讯分类)更多管理(主题类别、投票信息、用户投票、投票结果)采取面对对象的开发模式进行软件的开发和硬体的架设,能很好的满足实际使用的需求,完善了对应的软体架设以及程序编码的工作,采取MySQL作为后台数据的主要存储单元,采用java技术、Ajax技术进行业务系统的编码及其开发,实现了本系统的全部功能。_基于springboot的在线投票系统的源码有5000字代码吗

【AI绘画】Stablediffusion必不可少的使用方法之关键词(2)_stablediffusion添加关键词-程序员宅基地

文章浏览阅读803次,点赞21次,收藏14次。我相信很多已经下载好Stablediffusion或者midjourney软件的朋友,第一反应都是看着满屏看不懂的各种选项发懵吧,而当你稳住心神,准备在文生图或者图生图这两块基础操作力大显身手,想创造出属于自己的艺术设计之时,难免会对着下面这个框框陷入两难:我应该填什么呢?我应该如何描述呢?_stablediffusion添加关键词

服务器文档检索,知识库文档快速检索方法、应用服务器计算机可读存储介专利_专利查询 - 天眼查...-程序员宅基地

文章浏览阅读243次。1. 一种知识库文档快速检索方法,应用于应用服务器,其特征在于,所述方法包括步 骤: 接收用户输入的检索信息; 对所述检索信息进行分析、处理以获取查询词; 根据所述查询词对知识库中的文档进行搜索,并根据搜索匹配度对搜索结果进行排 序; 通过摘要生成模型及关键词生成模型获得各文档的摘要及关键词;及 输出排序后的搜索结果,并对应输出目标文档的所述摘要及关键词。2. 如权利要求1所述的知识库文档快速检索..._产品知识库快速查询

推荐文章

热门文章

相关标签