国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

xiaoyuhzou1228的個人空間 http://m.qingdxww.cn/space-uid-139997.html [收藏] [復制] [RSS]

博客

嵌入式編程第二篇:ARM單片機如何將函數定義到指定程序地址

熱度 10已有 1543 次閱讀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
文章寫得這么詳細,不怕被同行業抄襲�。靠磥碛袃晒P刷子
12下一頁

facelist

您需要登錄后才可以評論 登錄 | 立即注冊
验证问答 换一个 验证码 换一个

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
返回頂部
主站蜘蛛池模板: 日本天堂视频在线观看 | 四虎在线网址入口2022 | 国产三级国产精品国产普男人 | 少妇高潮太爽了在线视频 | 天堂久久久久久中文字幕 | 人间正道是沧桑全集免费下载高清 | 超级碰碰碰精品色时视频 | 天堂网最新 | 亚洲国产日韩在线一区 | 久久尹人 | 日本色老头 | 久久这里只有精品久久 | 四虎在线网址入口2022 | 免费看国产精品久久久久 | 亚洲日本视频在线观看 | 麻豆视频91 | 亚洲五月婷 | 欧美大片一区二区三区 | 轻轻草在线视频 | 日韩在线视频网址 | juliaannav| 日韩中文字幕在线播放 | 久久久久久久久久免费视频 | 国产精品二区高清在线 | 四虎影院国产 | 2023av在线| 青青在线视频 | 精品国产免费人成高清 | 亚洲精品男人天堂 | 国产精品视频在 | 99精品免费| 日本中文字幕一区 | 首尔站在线观看免费韩剧 | 免费精品精品国产欧美在线 | 国产网站免费 | 亚洲欧美视频一区二区三区 | 在线毛片免费 | 国产黄在线观看免费观看软件视频 | 日本a在线看 | 亚洲欧洲精品成人久久曰 | 在线免费色视频 |