RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

美信cortex-m3內核芯片的啟動過程及連接文件介紹

CHANBAEK ? 來源:硬件工程師干貨 ? 作者:硬件工程師干貨 ? 2023-03-01 11:39 ? 次閱讀

本文以美信cortex-m3內核某型號芯片以及eclipse開發(fā)環(huán)境介紹芯片啟動過程以及連接文件。

啟動過程介紹:

先看向量表,見下圖1區(qū)域向量表定義在nvic_section這個區(qū)域,啟動時,會拷貝到RAM中運行,后面會介紹,重定向向量表不是必須的,拷貝到RAM中有個好處,修改向量表比較方便。

向量表的最開始是棧指針,接下來是復位向量,見2區(qū)域。

pYYBAGP-x8qACQGLAAHaRcZFq5M073.png

下面就是復位函數(shù),前面說了,復位函數(shù)地址放在了向量表的第二位。處理器上電后首先運行這個函數(shù),進行初始化。這個函數(shù)定義在了reset區(qū)域,這個區(qū)域在Flash的起始位置,因此首先運行它,這個函數(shù)第一步就是初始化棧指針,然后調用start函數(shù)。

pYYBAGP-x9eAU-XzAAFJDeyFLvA584.png

關鍵的start函數(shù)來了:

1部分:這個函數(shù)首先從Flash拷貝數(shù)據(jù),這個過程就是給全局變量賦值,換句話說就是給代碼中有初值的全局變量或者靜態(tài)局部變量賦值。因為全局變量和靜態(tài)局部變量初值是保存在Flash里面,會占用Flash空間,這一點要注意。

2部分:把需要清零的RAM區(qū)清空,包括沒有初值的全局變量。

3部分:拷貝向量表并重定向,上面已經提過,重定向不是必須的。

這個函數(shù)最后調用main函數(shù),就再也回不來了。

pYYBAGP-x-WAXlU4AAOMEd9jBwM109.png

連接文件介紹:

1區(qū)域:上面說了__reset函數(shù)就在這區(qū)域,可以看出在Flash最上面,首先運行它。

2區(qū)域:向量表,start函數(shù)中拷貝到RAM區(qū)了,這是初始位置,在Flash區(qū)。

poYBAGP-x_SAT2M2AAIJZagnxW0005.png

繼續(xù)往下看連接文件:

1區(qū)域:有初值常量,比如const類型,存放在Flash里

2部分:全局變量初值存放位置。剛才拷貝的就是它。

3區(qū)域:清零區(qū),就是上面循環(huán)清零的區(qū)域

4區(qū)域:棧區(qū)域,一般在RAM最后面,因為cortex-m3類處理器都是滿遞減棧。

poYBAGP-yBiAXe0QAANt-l4AtOA568.png

?

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 內核
    +關注

    關注

    3

    文章

    1372

    瀏覽量

    40275
  • Cortex
    +關注

    關注

    2

    文章

    202

    瀏覽量

    46482
  • 函數(shù)
    +關注

    關注

    3

    文章

    4327

    瀏覽量

    62569
  • 美信
    +關注

    關注

    5

    文章

    1335

    瀏覽量

    72470
  • Cortex-M3
    +關注

    關注

    9

    文章

    269

    瀏覽量

    59463
收藏 人收藏

    評論

    相關推薦

    ARM Cortex-M0 DesignStart系列--4啟動過程分析

    書接上文《ARM_Cortex-M0 DesignStart系列--3rtl仿真過程的詳細分析》,本文基于hello這個case,對Cortex M
    的頭像 發(fā)表于 11-10 09:05 ?2813次閱讀
    ARM <b class='flag-5'>Cortex-M</b>0 DesignStart系列--4<b class='flag-5'>啟動過程</b>分析

    cortex-m3的操作模式及特權級別

    STM32是cortex-m3內核芯片,擁有cortex-m3的特性,以下介紹cortex-m3
    的頭像 發(fā)表于 03-01 11:00 ?5763次閱讀
    <b class='flag-5'>cortex-m3</b>的操作模式及特權級別

    ARM Cortex-M3內核介紹

    STM32系列基于專為要求高性能、低成本、低功耗的嵌入式應用專門設計的ARM Cortex-M3內核(ST's product portfolio contains a comprehensive
    發(fā)表于 08-05 06:15

    怎樣去使用Cortex-M3內核

    Cortex-M3內核是什么?怎樣去使用Cortex-M3內核?
    發(fā)表于 09-24 07:19

    Cortex-M3簡述

    低實時性好代碼密度得到很大改善使用更加方便低成本的整體解決方案開發(fā)工具眾多:keil、Cube…二者之間的關系上圖是基于Cortex-M3內核的MCU,Cortex-M3相當于一個小CPU(中央處理器)。MCU就是我們看到的
    發(fā)表于 11-10 08:19

    Cortex-M3內核_IAP升級的相關資料下載

    單片機啟動方式首先上幾幅Cortex-M3內核的參考手冊的圖:一般情況下我們用到的開發(fā)板,例如帶一鍵下載功能的都是從系統(tǒng)存儲器開始啟動的。系統(tǒng)存儲器是一塊存儲空間,他里面的內容就是Bo
    發(fā)表于 12-10 07:26

    Cortex-M3內核浮點型運算的研究與實現(xiàn)

    Cortex-M3內核上實現(xiàn)浮點型運算,可以達到所要求的精度,運算速度較快,具有較高的實時性。本文提出的浮點型運算的處理方法在基于Cortex-M3內核的處理器上有著較高的應用價值。
    發(fā)表于 03-11 11:04 ?1.2w次閱讀
    <b class='flag-5'>Cortex-M3</b><b class='flag-5'>內核</b>浮點型運算的研究與實現(xiàn)

    Cortex-M3權威指南介紹

    Cortex-M3處理器介紹基本的硬件構架和指令系統(tǒng)待
    發(fā)表于 11-23 11:01 ?0次下載

    Cortex-m3內核STM32芯片的硬件庫程序

    Cortex-m3內核STM32芯片的硬件庫程序 有需要的下來看看
    發(fā)表于 12-29 13:41 ?3次下載

    TKScope仿真調試Cortex-M3內核的高級手段

    TKScope仿真調試Cortex-M3內核的高級手段
    發(fā)表于 10-09 09:34 ?12次下載
    TKScope仿真調試<b class='flag-5'>Cortex-M3</b><b class='flag-5'>內核</b>的高級手段

    介紹STM32F4在Cortex-M4內核Cortex-M3內核方面的優(yōu)勢

    該視頻通過STM32F4 MCU展示了在音頻處理應用方面Cortex-M4內核Cortex-M3內核的比較優(yōu)勢
    的頭像 發(fā)表于 07-03 04:19 ?1.4w次閱讀

    Cortex-M3處理器內核與基于Cortex-M3的MCU關系

    低實時性好代碼密度得到很大改善使用更加方便低成本的整體解決方案開發(fā)工具眾多:keil、Cube…二者之間的關系上圖是基于Cortex-M3內核的MCU,Cortex-M3相當于一個小CPU(中央處理器)。MCU就是我們看到的
    發(fā)表于 11-05 18:35 ?8次下載
    <b class='flag-5'>Cortex-M3</b>處理器<b class='flag-5'>內核</b>與基于<b class='flag-5'>Cortex-M3</b>的MCU關系

    STM32啟動過程--啟動文件--分析

    、中斷向量安排等內容,是非常值得玩味的。  STM32作為一款高端Cortex-M3系列單片機,有必要了解它的啟動文件。打好基礎,為以后優(yōu)化程序,寫出高質量的代碼最準備?! ”疚囊砸粋€實際...
    發(fā)表于 11-30 13:21 ?4次下載
    STM32<b class='flag-5'>啟動過程</b>--<b class='flag-5'>啟動</b><b class='flag-5'>文件</b>--分析

    分析ARM Cortex-M內核復位啟動過程

    ARM Cortex-M內核的復位啟動過程也被稱為復位序列(Reset sequence),下面就來簡要總結分析下這一過程
    的頭像 發(fā)表于 03-20 09:58 ?2359次閱讀

    Cortex-M3芯片有哪些

    Cortex-M3芯片是一款基于ARM架構的低功耗、高性能的嵌入式處理器。目前市面上有眾多廠商生產了基于Cortex-M3內核芯片,如意法
    的頭像 發(fā)表于 03-11 17:07 ?1579次閱讀
    RM新时代网站-首页