問題1:支持ARMv8的Linux內(nèi)核異常向量地址在哪?
答:異常向量基地址在0xffffffc000081800。通過查看編譯后的linux內(nèi)核的System.map文件,能確定異常向量表的基地址。通過反匯編生成的支持armv8的linux內(nèi)核也可以證實。Armv8的異常向量表的定義在內(nèi)核的arch/arm/kernel/entry.S中,將其摘錄如下:
/*
* Exception vectors.
*/
.macro ventry label
.align 7
b label
.endm
.align 11
ENTRY(vectors)
ventry el1_sync_invalid //Synchronous EL1t
ventry el1_irq_invalid //IRQ EL1t
ventry el1_fiq_invalid //FIQ EL1t
ventry el1_error_invalid //Error EL1t
ventry el1_sync //Synchronous EL1h
ventry el1_irq //IRQ EL1h
ventry el1_fiq_invalid //FIQ EL1h
ventry el1_error_invalid //Error EL1h
ventry el0_sync //Synchronous 64-bit EL0
ventry el0_irq //IRQ 64-bit EL0
ventry el0_fiq_invalid //FIQ 64-bit EL0
ventry el0_error_invalid //Error 64-bit EL0
#ifdefCONFIG_AARCH32_EMULATION
ventry el0_sync_compat //Synchronous 32-bit EL0
ventry el0_irq_compat //IRQ 32-bit EL0
ventry el0_fiq_invalid_compat //FIQ 32-bit EL0
ventry el0_error_invalid_compat //Error 32-bit EL0
#else
ventry el0_sync_invalid //Synchronous 32-bit EL0
ventry el0_irq_invalid //IRQ 32-bit EL0
ventry el0_fiq_invalid //FIQ 32-bit EL0
ventry el0_error_invalid //Error 32-bit EL0
#endif
END(vectors)
問題2:找出TLB中存放的ARMv8的頁表格式
答:只找到了頁表的格式。TLB中的格式?jīng)]找到。
ARMv8支持4KB頁大小的4級頁表轉(zhuǎn)換到64KB頁大小的3級頁表轉(zhuǎn)換。
以下是從內(nèi)核源碼的Documentation找到的信息。
AArch64 Linux memory layout:
Start End Size Use
-----------------------------------------------------------------------
0000000000000000 0000007fffffffff 512GB user
ffffff8000000000 ffffffbbfffeffff ~240GB vmalloc
ffffffbbffff0000 ffffffbcffffffff 64KB [guardpage]
ffffffbc00000000 ffffffbdffffffff 8GB vmemmap
ffffffbe00000000 ffffffbffbffffff ~8GB [guard,future vmmemap]
ffffffbffc000000 ffffffbfffffffff 64MB modules
ffffffc000000000 ffffffffffffffff 256GB memory
Translation table lookup with 4KB pages:
+--------+--------+--------+--------+--------+--------+--------+--------+
|63 56|55 48|47 40|39 32|31 24|23 16|15 8|7 0|
+--------+--------+--------+--------+--------+--------+--------+--------+
| | | | | |
| | | | | v
| | | | | [11:0] in-page offset
| | | | +-> [20:12] L3 index
| | | +-----------> [29:21] L2 index
| | +---------------------> [38:30] L1index
| +------------------------------->[47:39] L0 index (not used)
+------------------------------------------------->[63] TTBR0/1
Translation table lookup with 64KB pages:
+--------+--------+--------+--------+--------+--------+--------+--------+
|63 56|55 48|47 40|39 32|31 24|23 16|15 8|7 0|
+--------+--------+--------+--------+--------+--------+--------+--------+
| | | | |
| | | | v
| | | | [15:0] in-page offset
| | | +----------> [28:16] L3 index
| | +--------------------------> [41:29] L2index (only 38:29 used)
| +-------------------------------> [47:42] L1 index (not used)
+------------------------------------------------->[63] TTBR0/1
問題3:ARMv8中重要的控制寄存器的各位的意思是什么?
答:源碼中沒找到對ARMv8控制寄存器的詳細(xì)描述。
1. 關(guān)于SPSR,該寄存器是CPSR的副本,當(dāng)在不同模式間轉(zhuǎn)換時,該寄存器保存CPSR的內(nèi)容,用于狀態(tài)恢復(fù)。
在arch/arm64/include/asm/ptrace.h中找到AArch64的spsr寄存器某些位的定義,經(jīng)過與ARMv7的對比發(fā)現(xiàn),以下定義的位于ARMv7中定義的位意義相同。
/*AArch64 SPSR bits */
#definePSR_F_BIT 0x00000040
#definePSR_I_BIT 0x00000080
#definePSR_A_BIT 0x00000100
#definePSR_D_BIT 0x00000200
#definePSR_Q_BIT 0x08000000
#definePSR_V_BIT 0x10000000
#definePSR_C_BIT 0x20000000
#definePSR_Z_BIT 0x40000000
#define PSR_N_BIT 0x80000000
2. ARMv8中的系統(tǒng)控制寄存器有多個,但與ARMv7不同的是:ARMv8中拋棄了“協(xié)處理器”的概念,進(jìn)而就沒了MCR,MRC類的指令,見參考資料[3],其系統(tǒng)控制都是通過MSR,MRS類指令進(jìn)行。通過閱讀Linux內(nèi)核源碼發(fā)現(xiàn),主要的控制寄存器有:
hcr_el2:el2中的hypervisor配置寄存器
cnthctl_el2:可配置通用時鐘
另外還有,vmpidr_el2;vpidr_el2;sctlr_el1:cptr_el2;hstr_el2;spsr_el2;vbar_el1;ttbr0_el1;ttbr1_el1;sctlr_el1
參考資料
[1] ARMv8的編譯器binutils,結(jié)構(gòu)體aarch64_opcode_table定義見line 1208
http://kernel.ubuntu.com/git?p=jk/arm64/binutils.git;a=blob;f=opcodes/aarch64-tbl.h;h=d360b1406718257da86050f5b3a760cd02196250;hb=aarch64
[2] 結(jié)構(gòu)體aarch64_opcode定義,line451
http://kernel.ubuntu.com/git?p=jk/arm64/binutils.git;a=blob;f=include/opcode/aarch64.h;h=98529954ea098349eb16572d4915f4edbd2e7b5d;hb=aarch64
[3] 《ARMv8 InstructionSet Overview 》page11
上一篇:arm平臺linux異常處理流程
下一篇:ARMv8(aarch64)頁表建立過程詳細(xì)分析
推薦閱讀
史海拾趣
面對未來,邁翔科技有著明確的發(fā)展規(guī)劃和目標(biāo)。公司將繼續(xù)加大技術(shù)研發(fā)投入,不斷提升產(chǎn)品性能和質(zhì)量;同時,公司也將積極拓展新的應(yīng)用領(lǐng)域和市場,尋求更多的合作機(jī)會和發(fā)展空間。未來,邁翔科技將致力于成為全球領(lǐng)先的電感器制造商之一。
以上五個故事概述了邁翔科技在電子行業(yè)中的發(fā)展歷程和關(guān)鍵事件。這些故事展示了公司從創(chuàng)業(yè)初期到成為行業(yè)領(lǐng)導(dǎo)者的艱辛歷程和不懈努力。
在追求經(jīng)濟(jì)效益的同時,Horn公司也注重可持續(xù)發(fā)展。公司積極采用環(huán)保材料和綠色生產(chǎn)工藝,減少對環(huán)境的影響。此外,Horn公司還注重人才培養(yǎng)和團(tuán)隊建設(shè),為公司的長期發(fā)展奠定了堅實的人才基礎(chǔ)。展望未來,Horn公司將繼續(xù)秉承“創(chuàng)新、質(zhì)量、服務(wù)”的企業(yè)理念,致力于成為切削工具行業(yè)的領(lǐng)導(dǎo)者,為全球客戶提供更加優(yōu)質(zhì)的產(chǎn)品和服務(wù)。
隨著公司規(guī)模的擴(kuò)大和訂單量的增加,ECLIPTEK面臨著越來越大的供應(yīng)鏈管理挑戰(zhàn)。為了應(yīng)對這些挑戰(zhàn),公司投入大量資源優(yōu)化供應(yīng)鏈管理,引入先進(jìn)的供應(yīng)鏈管理系統(tǒng)和自動化生產(chǎn)設(shè)備。通過提高生產(chǎn)效率和降低生產(chǎn)成本,ECLIPTEK成功地保持了其在市場上的競爭優(yōu)勢。
背景:2000年代初,隨著全球?qū)?shù)字設(shè)備需求的激增,Galaxy Microelectronics在硅谷成立。公司創(chuàng)始人是一群來自斯坦福大學(xué)的工程師,他們看到了閃存技術(shù)在便攜式設(shè)備中的巨大潛力。
發(fā)展:Galaxy Microelectronics的初創(chuàng)團(tuán)隊專注于研發(fā)高性能、低功耗的NAND閃存芯片。他們成功開發(fā)出了一種創(chuàng)新的電荷擷取閃存(CTF)技術(shù),這項技術(shù)有效解決了當(dāng)時浮柵架構(gòu)的串?dāng)_問題,使得閃存芯片的耐用性和速度大幅提升。這一創(chuàng)新迅速吸引了市場關(guān)注,公司開始獲得風(fēng)險投資的支持。
隨著市場的不斷發(fā)展,Corsair意識到只有不斷創(chuàng)新才能在競爭中立于不敗之地。因此,公司加大了對研發(fā)的投入,積極引進(jìn)先進(jìn)技術(shù)和設(shè)備,不斷提升產(chǎn)品的性能和質(zhì)量。在一次次的嘗試和失敗后,Corsair的研發(fā)團(tuán)隊終于突破了行業(yè)技術(shù)瓶頸,成功開發(fā)出了一款具有高性能、高穩(wěn)定性的連接器產(chǎn)品。這一創(chuàng)新成果不僅贏得了客戶的青睞,也為公司在行業(yè)中樹立了良好的口碑。
多年來,EM Microelectronic-Marin始終保持著對技術(shù)的熱愛和追求。公司不斷投入資源進(jìn)行研發(fā),推動電子技術(shù)的持續(xù)發(fā)展。在未來,隨著物聯(lián)網(wǎng)、人工智能等技術(shù)的不斷興起,EM Microelectronic-Marin將繼續(xù)致力于技術(shù)創(chuàng)新和產(chǎn)品升級,為電子行業(yè)的發(fā)展貢獻(xiàn)自己的力量。
在evc中將一個入口為int main (int argc, const char *argv [])的C程序新建一個WCE PocketPC 2003 Application并做成exe 然后在另一個程序的按鈕消息中利用ShellExecuteEx函數(shù)調(diào)用它,可是一運(yùn)行卻總警告First-chance exception in xxx.exe:0xC000 ...… 查看全部問答∨ |
|
最近用PlatForm Builder訂制了一個系統(tǒng).是一個中英臺語的系統(tǒng).同時加了SimSum&SimSum2_60 MingLis&MingLis2_80兩種字體.默認(rèn)開機(jī)語言是臺語.在機(jī)器上只能顯示繁體,簡體只能顯示與繁體有交集地字符.我要怎么讓它同時都能顯示簡體和繁體兩種字體.… 查看全部問答∨ |
如圖所示電路,當(dāng)光敏三極管VT1接收到紅外發(fā)光二極管射來的紅外光線時,VT1導(dǎo)通,比較器IC2-B的反相輸入端6腳為低電平,7腳輸出高電平,加到比較器IC2-A的反相輸入端,使1腳輸出低電平,則光電耦合器4N35內(nèi)的發(fā)光管點亮,對應(yīng)的光敏管導(dǎo)通,三極管V ...… 查看全部問答∨ |
Altera公司與TSMC采用CoWoS生產(chǎn)技術(shù) Altera公司與TSMC宣布,采用TSMC CoWoS生產(chǎn)技術(shù)共同開發(fā)全球首顆能夠整合多元芯片技術(shù)的三維集成電路(Heterogeneous 3DIC ) 測試芯片 ,此項創(chuàng)新技術(shù)系將模擬、邏輯及內(nèi)存等各種不同芯片技術(shù)堆棧于單一芯片上組合而成,可協(xié)助半 ...… 查看全部問答∨ |
|
這兩天做個I2C方面的東西,可以Master讀取數(shù)據(jù)的時候總是卡住,用示波器看了下,發(fā)現(xiàn)少個CLOCK,有誰知道啥原因嗎?… 查看全部問答∨ |
|
C語言中的“printf”,在軟件調(diào)時的時候可以很方便的顯示所要觀察的變量 不知道在IAR的環(huán)境中軟件仿真時是否可以實現(xiàn)類似的功能(直接觀察寄存器就算了...),另外有沒有專有的庫文件,在硬件運(yùn)行時能很方便的輸出各種類型的數(shù)據(jù)呢 … 查看全部問答∨ |
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦
- Microchip 升級數(shù)字信號控制器(DSC)產(chǎn)品線 推出PWM 分辨率和 ADC 速度業(yè)界領(lǐng)先的新器件
- 意法半導(dǎo)體STM32MP23x:突破成本限制的工業(yè)AI應(yīng)用核心
- 意法半導(dǎo)體推出用于匹配遠(yuǎn)距離無線微控制器STM32WL33的集成的匹配濾波芯片
- ESP32開發(fā)板連接TFT顯示屏ST7789跳坑記
- 如何讓ESP32支持analogWrite函數(shù)
- LGVL配合FreeType為可變字體設(shè)置字重-ESP32篇
- 使用樹莓派進(jìn)行 ESP32 Jtag 調(diào)試
- ESP32怎么在SPIFFS里面存儲html,css,js文件,以及網(wǎng)頁和arduino的通訊
- ESP32 freeRTOS使用測試
- 蘋果被判侵犯3G專利,需向西班牙公司TOT賠償1.1億美元
- 從設(shè)計概念到 FPGA 原型僅需數(shù)分鐘,印度 InCore 完成 SoC Generator 平臺硅驗證
- 消息稱因難尋客戶,三星推遲美國芯片工廠的完工時間
- BOE(京東方)聯(lián)合榮耀打造榮耀Magic V5 以領(lǐng)先LTPO技術(shù)打造行業(yè)新標(biāo)桿
- 華為ADS 4發(fā)布:多傳感器融合,提升自動駕駛安全性
- 曉鶯說:線控制動變革風(fēng)云
- 大眾商用車推出AirConsole 將其信息娛樂系統(tǒng)擴(kuò)展為游戲機(jī)
- 福州大學(xué)發(fā)明新機(jī)器視覺傳感器 可使機(jī)器人對極端光照做出超快反應(yīng)
- 蘋果獲沉浸式虛擬顯示器相關(guān)的專利
- 英特爾汽車“折戟”,十年布局一夜歸零
- TE可穿戴解決方案助你打造暖心大白,答題贏TTI好禮
- 你們想要的XMC4800 Relax EtherCAT Kit來了,速度來申請!
- 答題有禮|掃地機(jī)器人內(nèi)部有多復(fù)雜?TI E2E 五步為你解密!
- 玩游戲 和英飛凌一起解鎖天籟之音
- ADI有獎下載活動之14 ADI公司針對pH計和電導(dǎo)率儀的演示系統(tǒng)
- TI帶你一起解剖共享單車智能鎖!看視頻漲知識贏好禮嘍!
- 帶你零起點入門STM32(專為嵌入式應(yīng)用而開發(fā)的內(nèi)核)
- 有獎直播 | TI 助力機(jī)器人電機(jī)控制系統(tǒng)設(shè)計
- 【已結(jié)束】力源直播【安森美 25KW 充電樁模塊方案】(9:30入場)
- 臺PCB廠精成科馬來西亞工廠9名員工染疫確診全廠停工
- 歐盟斥巨資發(fā)展先進(jìn)制程計劃遇冷,技術(shù)及客戶來源是核心
- 產(chǎn)業(yè)鏈進(jìn)入下一競爭階段:在整合中實現(xiàn)“內(nèi)卷”
- 小米和Sisvel達(dá)成和解
- 臺媒:芯片短缺蔓延至硅晶圓,各大廠商積極擴(kuò)產(chǎn)應(yīng)對
- 趨勢和跟蹤:介紹兩個實用的示波器診斷工具
- 安森美半導(dǎo)體推出首批具有近紅外+(NIR +)的高分辨率
- Semtech的LoRa技術(shù)作為領(lǐng)先物聯(lián)網(wǎng)(IoT)平臺在中國擴(kuò)大應(yīng)用范
- 詳解用非平衡電橋如何測量電阻
- 谷歌洽購諾基亞飛機(jī)寬帶業(yè)務(wù) 欲取代WiFi