<meta name="keywords" content="庄家克星时时彩,嵌入式编程第二篇:ARM单片机若何将函数界说到指定法式模范模范地址" />
迎接会见庄家克星时时彩-时时彩qq群-时时彩平台推荐!   登录 | 收费注册 ]   

xiaoyuhzou1228的小我空间 http://badahub.com/space-uid-139997.html [珍藏] [复制] [分享] [RSS]

博客

嵌入式编程第二篇:ARM单片机若何将函数界说到指定法式模范模范地址

热度 10已有 369 次浏览2019-4-9 14:26

在单片机编程应用中,会触及到将某些函数界说到指定的code区。此时须要对工程文件阻拦装备修改才可完成。本期针对ARM平台单片机做出诠释简介

1、测试目的

将函数Communication_Test界说到Code区的指定地址0x1000职位

2、测试情形

LKT4304加密芯片算法工程、KEIL-ARM编译软件、

3、完成法式模范

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

 

3.2 App_Main.c文件中声明测试函数Communication_Test

extern void Communication_Test(u8 *in,u8 *out,u8 len);

 

3.3 App_fun.c文件中完成测试函数Communication_Test

void Communication_Test(u8 *in,u8 *out,u8 len);{

  u8 i;

    

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

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

}

 

3.4 App_Main.c文件中挪用测试函数Communication_Test,此处省略

 

3.5 编译算法工程后,在\LKT4304_AppDemo\Out\Lst\蹊径下找到 LKT4304_AppDemo.map,掀开该文件。

 

3.6 寻觅到Communication_Test编译后存储的地址。本例中,编译后的默许地址如 1所示。

1. 默许编译链接地址

 

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

2. 掀开sc文件

 

3.8 ARM_App.sc文件中,Code区肇端地址是0x30000,以下图所示:

3.sc文件中界说的Code

 

  将函数Communication_Test界说到Code区的指定地址0x1000职位,须要在 App_fun.c文件中增添 void Communication_Test(u8  *in,u8 *out,u8 len) __attribute__((section(".ARM.__at_0x00031000"))); 这样一句代码。以下图所示:

3.9 编译算法工程,着重新掀开\LKT4304_AppDemo\Out\Lst\下的map文件,检查 Communication_Test函数所在地址,如图4所示,该函数曾经替换到0x31000地址上, 注解Communication_Test函数曾经界说到Code区的0x1000地址。

4. 重界说后目的函数所在地址

 

至此,ARM单片机将函数界说到指定法式模范模范地址的措施曾经完成。

揭晓议论 议论 (21 个议论)

回复 小屁孩123 2019-4-11 13:57
LKT4304 Code区空间是多年夜的?
回复 ?-о 2019-4-11 14:11
专业性太强了,看不懂!当手艺储蓄吧!学习了………
回复 Mr.Wang 2019-4-11 16:36
同感,受教了,谢谢楼主分享!
回复 Test_wf 2019-4-11 19:16
叨教4304都支持甚么接口?
回复 xiaoyuhzou1228 2019-4-11 19:34
SPI/IIC 都支持的,但同时只能应用一个
回复 wang0327 2019-4-12 09:14
我对这个手艺很感兴趣,我会一直关注的
回复 tyl20100 2019-4-12 09:41
1 LKT4304是做甚么用的?用于甚么行业?
2 LKT4304是新产物吗?甚么时间推出的,安然性若何?
3 看起来有些严重年夜,开发会不会太难啊,有谁用过说一下
回复 miniminimini 2019-4-12 11:29
掩护法式模范模范和主要数据都行,许多若干许多几何行业都能用到。
回复 kessy1 2019-4-12 15:58
LKT4304似乎是他们去年新推出的32位的加密芯片,可以阻拦法式模范模范移植,安然品级很高
回复 tyl20100 2019-4-12 16:52
正幸亏做一款产物的加密,看到楼主的的文章,又有了新的思绪,谢谢楼主的分享,这样的好文章楼主要多揭晓一点。真是济困抒难啊!
回复 wang0327 2019-4-12 17:01
这文章对加密芯片的算法讲得挺细,诠释他们公司的手艺职员很专业,手艺才干很强,产物的安然度一定很高
回复 Test_wf 2019-4-12 19:23
比来浏览过楼主的多篇文章,叨教文中说到的LKT4304加密芯片和嵌入式编程第一篇中提到的LKT4106加密芯片其功效有啥差异?
回复 miniminimini 2019-4-13 08:03
详细你问问厂商,我只知道都是IIC接口。
回复 kessy1 2019-4-13 10:15
文中提到的测试情形是LKT4304加密芯片算法工程,那能否是说这类编程措施只能用于LKT系列的加密芯片中?
回复 Mr.Wang 2019-4-13 19:28
我以为算法工程跟芯片的型号应当是逐一对应才可以。否则关于不合的芯片装备不合,一定没法正常编译。
回复 dg336699 2019-4-13 21:03
对嵌入式编程和ARM单片机感兴趣的年夜神可以已往看看了,解说的真的很明确很详细啊!!
回复 QL87 2019-4-14 20:49
“ (section(".ARM.__at_0x00031000" ” 是arm指令集的指令吗?
回复 Mr.Wang 2019-4-15 06:11
这不都写着ARM 呢吗,岂非是51的不成,兄弟
回复 QL87 2019-4-15 09:20
这类措施是不错,不外不是特殊需求或是专业人士照样慎用的较量好。强迫转换地址假定弱点编译器不会报错的容易出效果。
回复 ?-о 2019-4-15 15:09
文章写得这么详细,不怕被同业业剽窃啊?看来有两笔刷子

facelist

您须要登录后才可以议论 登录 | 急速注册
验证问答 换一个 验证码 换一个

回顶部