在嵌入式開(kāi)發(fā)時(shí),經(jīng)常會(huì)通過(guò)編譯busybox來(lái)制作rootfs,然后在上面跑可執(zhí)行程序。那么如何通過(guò)修改配置,讓一個(gè)rootfs同時(shí)兼容32位和64位的可執(zhí)行程序呢?
我們知道,如果EL1運(yùn)行在64位時(shí),那么EL0既可以運(yùn)行在64位,也可以運(yùn)行在32位。具體到這里,我們讓內(nèi)核運(yùn)行在64位(EL1),然后在EL0運(yùn)行64位或者32位的可執(zhí)行程序,在加載32位的可執(zhí)行程序時(shí),會(huì)先陷入Linux內(nèi)核(EL1),然后通過(guò)解析elf文件發(fā)現(xiàn)EL0要運(yùn)行在32位模式,那么在eret異常返回到EL0時(shí)會(huì)通過(guò)SPSR將當(dāng)前cpu切到32位模式運(yùn)行。
正文
1、配置linux kernel
使kernel支持在EL0上運(yùn)行32位可執(zhí)行程序:(arch/arm64/Kconfig中)
config COMPAT
bool "Kernel support for 32-bit EL0"
depends on ARM64_4K_PAGES || EXPERT
select COMPAT_BINFMT_ELF if BINFMT_ELF
select HAVE_UID16
select OLD_SIGSUSPEND3
select COMPAT_OLD_SIGACTION
help
This option enables support for a 32-bit EL0 running under a 64-bit
kernel at EL1. AArch32-specific components such as system calls,
the user helper functions, VFP support and the ptrace interface are
handled appropriately by the kernel.
If you use a page size other than 4KB (i.e, 16KB or 64KB), please be aware
that you will only be able to execute AArch32 binaries that were compiled
with page size aligned segments.
If you want to execute 32-bit userspace applications, say Y.
具體是在:Userspace binary formats --> Kernel support for 32-bit EL0
然后重新編譯內(nèi)核
2、配置根文件系統(tǒng)
這一步需要視情況而定,如果32位的可執(zhí)行程序采用的是靜態(tài)鏈接的,那么此時(shí)應(yīng)該就可以直接運(yùn)行。如果采用的是動(dòng)態(tài)鏈接,那么就需要專門的設(shè)置了。
在rootfs的根目錄下創(chuàng)建/lib32目錄,然后將要用到的32位的動(dòng)態(tài)庫(kù)拷貝到其中
設(shè)置LD_LIBRARY_PATH環(huán)境變量,將剛才的路徑添加到其中:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib32
進(jìn)入/lib目錄,在其中創(chuàng)建一個(gè)指向/lib32/ld-linux-armhf.so.3的軟連接:ld-linux-armhf.so.3
3、測(cè)試
運(yùn)行32位可執(zhí)行程序
在64位系統(tǒng)里運(yùn)行一個(gè)32位的測(cè)試程序:
然后可以查看其虛擬內(nèi)存地址分配
運(yùn)行64位可執(zhí)行程序
查看其地址分配:
完。
上一篇:閱讀ARM Memory(L1/L2/MMU)筆記
下一篇:ARMv8學(xué)習(xí) —— SP_EL0和SP_ELx
推薦閱讀
史海拾趣
進(jìn)入21世紀(jì),隨著網(wǎng)絡(luò)泡沫的破滅,博通陷入了嚴(yán)重的財(cái)務(wù)困境。虧損累計(jì)高達(dá)65億美元,股價(jià)大幅下跌,公司甚至不得不裁員以維持運(yùn)營(yíng)。然而,正是在這樣的困境中,博通展現(xiàn)出了堅(jiān)韌不拔的精神。通過(guò)優(yōu)化產(chǎn)品結(jié)構(gòu)、調(diào)整市場(chǎng)策略,博通逐漸走出了低谷,并在2003年推出了全球第一個(gè)802.11b單片機(jī),重新贏得了市場(chǎng)的關(guān)注。
作為一家致力于環(huán)保和可持續(xù)發(fā)展的企業(yè),EiKO始終關(guān)注照明產(chǎn)品對(duì)環(huán)境的影響。公司積極推廣LED等高效、節(jié)能、環(huán)保的照明產(chǎn)品,并不斷優(yōu)化產(chǎn)品設(shè)計(jì)和生產(chǎn)過(guò)程,降低能耗和排放。
此外,EiKO還積極參與各種環(huán)保活動(dòng)和公益事業(yè),如支持綠色照明項(xiàng)目、參與節(jié)能減排宣傳等。通過(guò)這些舉措,EiKO不僅為客戶提供了更加優(yōu)質(zhì)、環(huán)保的照明產(chǎn)品,也為推動(dòng)整個(gè)照明行業(yè)的可持續(xù)發(fā)展做出了積極貢獻(xiàn)。
隨著電子行業(yè)的快速發(fā)展,F(xiàn)air Rite迅速捕捉到新的市場(chǎng)機(jī)遇。公司不斷推出創(chuàng)新產(chǎn)品,以滿足醫(yī)療、照明、汽車、通訊、航空、國(guó)防、智能能源和工業(yè)市場(chǎng)等領(lǐng)域的需求。Fair Rite通過(guò)技術(shù)創(chuàng)新和品質(zhì)保證,贏得了客戶的信賴和市場(chǎng)的認(rèn)可。
西博臣非常重視產(chǎn)品質(zhì)量和品牌建設(shè)。公司建立了嚴(yán)格的質(zhì)量管理體系,從原材料采購(gòu)到產(chǎn)品生產(chǎn)、測(cè)試、包裝等各個(gè)環(huán)節(jié)都進(jìn)行嚴(yán)格的質(zhì)量控制。同時(shí),公司還注重品牌形象的塑造和推廣,通過(guò)參加各類行業(yè)展會(huì)、舉辦技術(shù)交流會(huì)等方式提升品牌知名度和美譽(yù)度。
近年來(lái),全球電子行業(yè)面臨著諸多挑戰(zhàn),包括技術(shù)更新?lián)Q代迅速、市場(chǎng)競(jìng)爭(zhēng)加劇等。Futaba Electric積極應(yīng)對(duì)這些挑戰(zhàn),不斷加大研發(fā)投入,推出了一系列具有創(chuàng)新性和競(jìng)爭(zhēng)力的新產(chǎn)品。同時(shí),公司還注重與上下游產(chǎn)業(yè)鏈的合作與協(xié)同,通過(guò)整合資源、優(yōu)化流程等方式降低成本、提高效率。此外,F(xiàn)utaba Electric還積極響應(yīng)環(huán)保政策,推動(dòng)綠色制造和可持續(xù)發(fā)展。這些努力使得公司在面對(duì)挑戰(zhàn)時(shí)依然能夠保持穩(wěn)健的發(fā)展態(tài)勢(shì)。
1、為什么雙座閥小開(kāi)度工作時(shí)容易振蕩? 對(duì)單芯而言,當(dāng)介質(zhì)是流開(kāi)型時(shí),閥穩(wěn)定性好;當(dāng)介質(zhì)是流閉型時(shí),閥的穩(wěn)定性差。雙座閥有兩個(gè)閥芯,下閥芯處于流閉,上閥芯處于流開(kāi),這樣,在小開(kāi)度工作時(shí),流閉型的閥芯就容易引起閥的振動(dòng),這就是雙 ...… 查看全部問(wèn)答∨ |
本帖最后由 paulhyde 于 2014-9-15 09:30 編輯 歷屆全國(guó)電子設(shè)計(jì)大賽,單片機(jī)一直是個(gè)核心,無(wú)論是小車,還是路燈控制,那么通信是必不可少的部分! 很多朋友到處找串口調(diào)試工具,我這里有個(gè)比較好用的版本! 供大家下載! … 查看全部問(wèn)答∨ |
本人在vs.net2003下做開(kāi)發(fā)已兩年有余,一直用c#. 想轉(zhuǎn)到wince嵌入式開(kāi)發(fā)領(lǐng)域,各位給點(diǎn)意見(jiàn). … 查看全部問(wèn)答∨ |
|
用2812計(jì)算fft,c語(yǔ)言代碼的效率會(huì)不會(huì)很低啊?如果用匯編來(lái)實(shí)現(xiàn)會(huì)不會(huì)很麻煩!… 查看全部問(wèn)答∨ |
|
本帖最后由 jameswangsynnex 于 2015-3-3 19:57 編輯 無(wú)葉風(fēng)扇中使用的風(fēng)葉馬達(dá)是什么馬達(dá),實(shí)際測(cè)量可以最高電壓可以達(dá)到交流230V,最低是為交流125V。這樣是否可以判斷是交流馬達(dá),那如何可以控制電壓的變化呢? 哪位大蝦幫忙看看 ,謝 ...… 查看全部問(wèn)答∨ |
本帖最后由 paulhyde 于 2014-9-15 04:07 編輯 程控濾波器的設(shè)計(jì),一定會(huì)對(duì)你有所幫助 … 查看全部問(wèn)答∨ |
在KEIL中如何添加多個(gè)C文件.我看到好多寫(xiě)的程序,為什么.H文件都隱藏了,怎么操作 多個(gè)C文件如何連接在一起.… 查看全部問(wèn)答∨ |
感謝論壇送的這本書(shū),整體上還不錯(cuò)。 小弟對(duì)其中的心電圖方案部分比較感興趣,也從TI上申請(qǐng)了一些芯片準(zhǔn)備找時(shí)間試試。也怪當(dāng)年模電基礎(chǔ)沒(méi)打好,一開(kāi)始就遇到了一些問(wèn)題。 問(wèn)題描述如下: 1 關(guān)于OPA2333的運(yùn)放B的作用小弟還不是很理解。特別是書(shū) ...… 查看全部問(wèn)答∨ |
設(shè)計(jì)資源 培訓(xùn) 開(kāi)發(fā)板 精華推薦
- 【下載】LAT1466 USB x Device HID Standalone的移植
- 【下載】LAT1488 STM32 USBxDevice MSC standalone移植示例
- 【下載】LAT1482 STM32G0單線串口通信幀錯(cuò)誤問(wèn)題解析
- 【下載】LAT1473 STM32C0 HAL庫(kù)的SPI 驅(qū)動(dòng)導(dǎo)致的Hardfault問(wèn)題分析
- 【下載】LAT1490 兩個(gè)STM32G0 I2C 通信異常的案例分析
- 【下載】LAT1470 SPI傳輸長(zhǎng)度超過(guò)1024時(shí)出現(xiàn)異常的問(wèn)題分析
- 利用STM32MP1和STM32MP2在嵌入式 Linux 平臺(tái)上部署有效的安全保護(hù)機(jī)制
- 超小但強(qiáng)大:MCU 的小尺寸封裝和集成如何幫助優(yōu)化空間受限的設(shè)計(jì)
- 德州儀器推出全球超小型 MCU,助力微型應(yīng)用創(chuàng)新
- Microchip推出電動(dòng)兩輪車(E2W)生態(tài)系統(tǒng),加速電動(dòng)出行創(chuàng)新
- 意法半導(dǎo)體推出STM32U3微控制器,面向遠(yuǎn)程、智能和可持續(xù)應(yīng)用,拓展超低功耗系列創(chuàng)新
- (一) ECloudIDE入門STM32-CubeMX工程創(chuàng)建與導(dǎo)入
- (二)ECloudIDE入門STM32-官方寄存器版例程使用
- Simulink STM32F407VGT6實(shí)現(xiàn)硬件在環(huán)
- openharmony:hilog_lite組件移植
- 英偉達(dá)芯片路線圖分析:Rubin GPU、Rubin Ultra 及 Feynman 架構(gòu)
- 自研芯片獲新進(jìn)展,理想純電車型能否靠AI「翻身」?
- 新能源汽車智能座艙技術(shù)
- 今年落地L3級(jí)自動(dòng)駕駛!放手一搏的廣汽,能否逆風(fēng)翻盤?
- 英偉達(dá)的開(kāi)源人形機(jī)器人通用模型,IsaacGR00TN1會(huì)帶來(lái)什么?
- 2025固態(tài)電池全景圖:方興未艾,技術(shù)競(jìng)逐
- 2025年NVIDIA自動(dòng)駕駛安全報(bào)告
- 地平線2024年報(bào):中國(guó)智能駕駛芯片龍頭破局!
- 從長(zhǎng)城APP奔潰聊聊汽車是否應(yīng)過(guò)度智能化?
- DeepSeek動(dòng)搖不了英偉達(dá)的“芯片帝國(guó)”?
- 【EEWORLD第二十三屆】2011年02月社區(qū)明星人物揭曉!
- 五一活動(dòng)上線!動(dòng)動(dòng)手,一起來(lái)場(chǎng)舊物\"勞動(dòng)\"大改造吧
- 免費(fèi)申請(qǐng)測(cè)評(píng) | Sipeed MAix BiT AIoT 開(kāi)發(fā)套件,搭載K210、屏幕和攝像頭
- 端午節(jié)芯幣大兌換
- ADI有獎(jiǎng)下載活動(dòng)之14 ADI公司針對(duì)pH計(jì)和電導(dǎo)率儀的演示系統(tǒng)
- 下載《TI MCU與無(wú)線連接技術(shù)研討會(huì)講座實(shí)錄》抽獎(jiǎng)贏好禮!
- 有獎(jiǎng)直播|使用 ModusToolbox® 構(gòu)建系統(tǒng),靈活應(yīng)對(duì)物聯(lián)網(wǎng)設(shè)計(jì)挑戰(zhàn)
- DIY FPGA初級(jí)學(xué)習(xí)板
- 豐田發(fā)布首款“復(fù)合燃料混合動(dòng)力技術(shù)”實(shí)驗(yàn)車
- 化繁為簡(jiǎn),IP-XACT構(gòu)建自定義SoC組裝平臺(tái)
- 為何大家都喜歡LED大燈? LED大燈究竟好在哪?
- 運(yùn)營(yíng)商搶灘布局,誰(shuí)能領(lǐng)跑5G XR?
- 單壁碳納米管網(wǎng)狀結(jié)構(gòu)或?qū)⒀娱L(zhǎng)鋰電池使用壽命
- 第16章 STM32中斷應(yīng)用概覽—零死角玩轉(zhuǎn)STM32-F429系列
- 第17章 EXTI—外部中斷/事件控制器—零死角玩轉(zhuǎn)STM32-F429系列
- 第18章 SysTick—系統(tǒng)定時(shí)器—零死角玩轉(zhuǎn)STM32-F429系列
- 第19章 通訊的基本概念—零死角玩轉(zhuǎn)STM32-F429系列
- 第20章 USART—串口通訊—零死角玩轉(zhuǎn)STM32-F429系列