娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2024年11月10日(星期日)

正在發(fā)生

2020年11月10日 | 關(guān)于stm32(cotex-m3)向量表初始化的總結(jié)筆記

發(fā)布者:巳午未 來源: eefocus關(guān)鍵字:stm32  cotex-m3  向量表初始化 手機(jī)看文章 掃描二維碼
隨時隨地手機(jī)看文章

最近學(xué)習(xí)lm3s811的時候,看到啟動代碼發(fā)現(xiàn)跟STM32的啟動代碼有不少區(qū)別,然后就開始詳細(xì)的看啟動代碼,最后總結(jié)出如下幾個點(diǎn),其實并沒有本質(zhì) 上的區(qū)別,由于用lm3s811是為了最近的比賽,所以快速的用庫進(jìn)行了開發(fā),就沒有對具體TI公司怎么來設(shè)計進(jìn)行細(xì)看,所以就以STM32來說。


1,首先STM32啟動代碼里面 AREA      RESET, DATA, READONLY ;由于是Readonly,所以其實是放到了CODE區(qū)__Vectors應(yīng)該就是0了,因為編譯器本身分配是從頭開始的。


2,而軟件仿真時添加__Vectors到Watch1里面觀察是x20000688,但是由于其不是變量,所以數(shù)值是不可預(yù)測的, 這里應(yīng)該是涉及到編譯器與仿真器之間的關(guān)聯(lián)了, (問題)以后再研究為啥會是這個數(shù) ( 實際上是從頭開始的地址 )。


3,軟件仿真時發(fā)現(xiàn)system_stm32f10x.c這個文件中SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET;(其中FLASH_BASE的值為 0x08000000,VECT_TAB_OFFSET為0x0)這么 一句話讓VTO寄存器變成了0x08000000,所以其第28:7位的TBLOFF應(yīng)該是0x100000,第29位TBLBASE為0,意思是向量表 被重定位到VT0寄存器的值即0x08000000,即STM32F10X系列(其他系列不知道,應(yīng)該是ARM規(guī)定的類似的內(nèi)存映射)中FLASH起始位 置。另外這里第29位TBLBASE為1的話,整個VTO變成了0x28000000即RAM的起始位置。


而ST公司重定位向量表的庫函數(shù):

void NVIC_SetVectorTable(uint32_t NVIC_VectTab, uint32_t Offset)

 

  assert_param(IS_NVIC_VECTTAB(NVIC_VectTab));

  assert_param(IS_NVIC_OFFSET(Offset));  

   

  SCB->VTOR = NVIC_VectTab | (Offset & (uint32_t)0x1FFFFF80);

}


其中NVIC_VectTab要么是FLASH要么是RAM的起始位置,Offset: Vector Table base offset field. This value must be a multiple of 0x200,這里先是IS_NVIC_OFFSET(OFFSET)  ((OFFSET) < 0x000FFFFF)斷言機(jī)制,ST公司技術(shù)支持給我的回信是這么說的“ The max flash size is 1MB, that is 0x100000, so the vector table must be placed within this address range, so ((OFFSET) < 0x000FFFFF) is checked.”f10x 內(nèi)置flash最大也就512K,SRAM內(nèi)置是64k ,并沒有看到官方人員說的1MB,我想這些斷言機(jī)制恐怕也是為了給很多芯片共同使用而寫的,也就是說實際還是要自己小心著用啊~


然后(Offset & (uint32_t)0x1FFFFF80) 事實上就是取了Offset的[28:7]位。但是你還是需要人為讓其為0x200的倍數(shù),至于為什么,

在ARM官方給出的Cortex-m3 technial reference manul中是這么說的:

The Vector Table Offset Register positions the vector table in CODE or SRAM space. 

The default, on reset, is 0 (CODE space). When setting a position, the offset must be 

aligned based on the number of exceptions in the table. This means that the minimal 

alignment is 32 words that you can use for up to 16 interrupts. For more interrupts, you 

must adjust the alignment by rounding up to the next power of two. For example, if you 

require 21 interrupts, the alignment must be on a 64-word boundary because table size 

is 37 words, next power of two is 64.


所以由于人家規(guī)定要對齊向量表,由于stm32的中斷向量一共有68+16=84個,應(yīng)該把這個數(shù)增加到下一個2的整數(shù)倍即128,然后換算成地址范圍128*4=512,就得到了0x200。

IS_NVIC_OFFSET(Offset)


另外看到一個網(wǎng)友“京劇娃娃”這一句話我覺得很不錯:


“學(xué)STM32的過程中覺得看手冊一點(diǎn)很重要,就是區(qū)分各個官方手冊的等級: 

"ARMv7-M Architecture Application Level Reference Manual(November 2010)" (ARM官方發(fā)布) 這是理論框架,涵蓋范圍最廣..........(I) 

"Cortex-M3 Technical Reference Manual.r2p1" (ARM官方發(fā)布) 這是技術(shù)構(gòu)架,涵蓋范圍次之.........................................................(II) 

"PM0056 Programming manual Rev4" & "Reference manual_Rev13"(ST官方發(fā)布)這是產(chǎn)品實現(xiàn),范圍最小,定位到特定系列產(chǎn)品.....(III) ”

關(guān)鍵字:stm32  cotex-m3  向量表初始化 引用地址:關(guān)于stm32(cotex-m3)向量表初始化的總結(jié)筆記

上一篇:stm32啟動文件詳解及SystemInit函數(shù)分析
下一篇:STM32庫函數(shù)SystemInit()的理解

推薦閱讀

? ? ? ? 11月9日消息,小米MIX官方微博預(yù)告,小米MIX 3翡翠色將于11月11日正式發(fā)售,起售價3299元。  小米MIX 3創(chuàng)新性采用了磁動力滑蓋全面屏,屏占比達(dá)到了93.4%,是迄今為止屏占比最高的小米手機(jī)。  核心配置上,小米MIX 3采用6.39英寸三星AMOLED顯示屏,分辨率為2340×1080,屏幕縱橫比為19.5:9,搭載高通驍龍845處理器,前置2400萬+20...
(文章來源:中國機(jī)器人網(wǎng)) 在當(dāng)今的工廠和倉庫中,經(jīng)常看到機(jī)器人在四處亂竄,將物品或從一個站點(diǎn)運(yùn)送到另一個站點(diǎn)。在大多數(shù)情況下,機(jī)器人可以在開放和已知的布局中輕松導(dǎo)航。但要ta們在狹窄的空間里完成任務(wù),比如在雜亂的貨架后面伸手去拿產(chǎn)品,或者繞著汽車的零件去擰下機(jī)油蓋,則要困難得多。 現(xiàn)在,麻省理工學(xué)院的工程師已經(jīng)開發(fā)出一種機(jī)器人...
本文來源CNX-Software,作者Jean-Luc Aufranc阿里巴巴在2019年推出了玄鐵910 RISC-V內(nèi)核(又名XT910),具有強(qiáng)大功能,最多支持16個內(nèi)核。但在2020年的更新顯示,該公司計劃開發(fā)一個完整的RISC-V核心系列產(chǎn)品,用于從低功耗微控制器到服務(wù)器SoC的廣泛應(yīng)用。當(dāng)時,我只是假設(shè)公司計劃保留他們的核心,但時間證明我錯了,因為阿里巴巴負(fù)責(zé)開發(fā)RISC-V核心的...
三星電子、瑞薩電子等亞洲芯片制造商據(jù)稱已回應(yīng)了美國要求其在周一前提供供應(yīng)鏈數(shù)據(jù)的要求,但拒絕提供更詳細(xì)的客戶信息。據(jù)日經(jīng)新聞報道,日本的瑞薩電子和鎧俠表示,其依照美國政府的要求資源提供數(shù)據(jù),以幫助識別全球供應(yīng)鏈中的漏洞,但兩家公司都未提交詳細(xì)的客戶數(shù)據(jù)。韓國的三星電子和SK海力士周一同樣提交了不包括機(jī)密客戶信息的數(shù)據(jù)。而臺積電也在...

史海拾趣

問答坊 | AI 解惑

最全面專業(yè)的電容器剖析文章【轉(zhuǎn)】

你知道顯卡為什么會花屏嗎? 沒錯,你肯定聽說過"主板爆漿",或者你還在對商家唾沫橫飛的"專業(yè)分析"深信不疑?但您知道"爆漿"為什么會發(fā)生,而爆漿產(chǎn)生的環(huán)境、條件、原理又是如何? 你可能也被主板或顯卡花屏所困惑,你知道罪魁禍?zhǔn)?...…

查看全部問答∨

求16*32的點(diǎn)陣論文

用的芯片是74HC04,74HC154,74HC595,AT89S52,只是單純的文字顯示,功能不一樣的也行,我只是用來參考一下,硬件已有,只要論文,是完整的那種論文,不知哪位大哥有,可以發(fā)給我嗎?hong85726@163.com 謝謝了...…

查看全部問答∨

求助啊~~請問收發(fā)器MT8880怎么和電話線連起來啊?

請問哪位好心人能告訴我MT8880怎么和電話線連起來啊。。我想做一個控制器來解碼DTMF信號。。。…

查看全部問答∨

在WinCE下隱藏鼠標(biāo)光標(biāo)的問題

我的WinCE程序是帶觸摸屏的,想在WinCE下隱藏鼠標(biāo)光標(biāo),該怎么做,請高手幫幫忙,謝謝!!(我剛做軟件,還不是很會)…

查看全部問答∨

How to calculate real RMS of voltage ?

How to calculate real RMS of voltage ?…

查看全部問答∨

cpld中兩個不同的信號能鎖定到同一個管腳上嗎?

在設(shè)計中,一個IN信號和一個out信號能鎖定到同一個端口上嗎?動態(tài)控制IN,OUT的變換。換句話說,我的管腳時而輸入,時而輸出。CPLD能實現(xiàn)同一個管腳兩種不同的功能嗎?…

查看全部問答∨

ST將在ARMMCU研討會上發(fā)布STM32新產(chǎn)品,敬請關(guān)注!

                                 5月26日&nbsp;北京第一站…

查看全部問答∨

為什么都是C?

為什么現(xiàn)在都在用C寫? 我是個學(xué)生,上手直接學(xué)的STM8,而且是用的匯編,現(xiàn)在感覺很排斥C,這樣下去是不是會有很多的障礙?是不是用C的效果更好?我知道匯編和C都會用就更好了,但現(xiàn)在就是越來越排斥C了、、、…

查看全部問答∨

花樣廣告燈 求高手解決

要求:P1接口8個發(fā)光二極管,通過編程實現(xiàn)至少3種花樣循環(huán)顯示。 所需器件:單片機(jī)最小系統(tǒng)一套、470歐姆8個,發(fā)光二極管8個、按鍵1個…

查看全部問答∨

M-bus

我急需有關(guān)M-bus的資料,請朋友們幫我介紹一些?…

查看全部問答∨
小廣播
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號

 
EEWorld服務(wù)號

 
汽車開發(fā)圈

 
機(jī)器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務(wù)審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 远安县| 南川市| 通许县| 汾西县| 新巴尔虎左旗| 靖西县| 白银市| 阳朔县| 甘泉县| 图木舒克市| 霍邱县| 永修县| 吉安县| 泰安市| 社旗县| 宣恩县| 民丰县| 班戈县| 边坝县| 宁乡县| 莆田市| 蚌埠市| 阿拉善左旗| 辽阳县| 晋城| 兴隆县| 枣强县| 马公市| 普兰县| 永德县| 资兴市| 多伦县| 普洱| 牟定县| 洛阳市| 本溪| 安宁市| 郴州市| 天镇县| 保靖县| 西乌珠穆沁旗|