一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Zephyr如何在第三方工具鏈下開(kāi)啟TLS

ZephyrProject ? 來(lái)源:HalfCoder ? 作者: lgl88911 ? 2021-07-05 08:58 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在Zephyr TLS線程本地存儲(chǔ)的實(shí)現(xiàn)一文中說(shuō)明了如何在Zephyr上使用TLS,在這種默認(rèn)的情況下Zephyr的編譯是使用的是Zephyr SDK提供的工具鏈。

而在一些特殊情況下我們希望使用重新配置編譯第三方工具鏈來(lái)編譯Zephyr,這就需要配置讓第三方工具鏈支持TLS,并修改Zephyr的Kconifg加入第三方工具鏈支持TLS.

工具鏈編譯

到https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads下載要用的source code,例如我選擇的是gcc-arm-none-eabi-9-2020-q2-update-src.tar.bz2

解壓縮后有一個(gè)How-to-build-toolchain.pdf文檔說(shuō)明如何編譯

安裝依賴

我的環(huán)境是ubuntu 18.04,安裝依賴

1

2

sudo su

apt-get install software-properties-common

add-apt-repository universe

cat 》/etc/apt/sources.list.d/xenial.list 《《EOF

deb http://archive.ubuntu.com/ubuntu xenial main universe

deb-src http://archive.ubuntu.com/ubuntu xenial main universe

deb http://security.ubuntu.com/ubuntu xenial-security main

EOF

dpkg --add-architecture i386

apt-get update

apt-get install -y -t xenial

gcc-mingw-w64-i686 g++-mingw-w64-i686 binutils-mingw-w64-i686

apt-get -f install -y

build-essential

autoconf

autogen

bison

dejagnu

flex

flip

gawk

git

gperf

gzip

nsis

openssh-client

p7zip-full

perl

python-dev

libisl-dev

scons

tcl

texinfo

tofrodos

wget

zip

texlive

texlive-extra-utils

libncurses5-dev

exit

修改編譯配置項(xiàng)

不需要mingw32,配置為跳過(guò)加速編譯

1

2

skip_mingw32=yes

skip_mingw32_gdb_with_python=yes

將--disable-tls修改為--enable-tls

gcc-arm-none-eabi默認(rèn)是關(guān)閉tls的,gcc編譯代碼后訪問(wèn)TLS時(shí)使用的是emulated tls,和Zephyr的實(shí)現(xiàn)不一致,需要改為--enable-tls

編譯

執(zhí)行下面命令進(jìn)行編譯

1

2

3

。/install-sources.sh

。/build-prerequisites.sh

。/build-toolchain.sh

編譯完成后的結(jié)果會(huì)被打包放在pkg/下, 例如我這里生成的就是gcc-arm-none-eabi-9-2021-q2-x86_64-linux.tar.bz2

在編譯gdb的時(shí)候可能會(huì)提示python有問(wèn)題,原因是我的默認(rèn)版本是python3, 需要進(jìn)行python版本切換gcc-arm-none-eabi-9-2020-q2使用python 2.7, 切換方法見(jiàn)Python2和3切換

第三方工具鏈配置TLS

使用第三方工具鏈

將gcc-arm-none-eabi-9-2021-q2-update-x86_64-linux.tar.bz2解壓縮,根據(jù)解壓縮的路徑修改~/.zephyrrc如下,Zephyr就會(huì)使用第三方工具鏈進(jìn)行編譯

1

2

export ZEPHYR_TOOLCHAIN_VARIANT=gnuarmemb

export GNUARMEMB_TOOLCHAIN_PATH=/mnt/d/code/gcc-arm-none-eabi-9-2021-q2-update

修改Zephyr配置

當(dāng)使用第三方工具鏈后即使配置了CONFIG_THREAD_LOCAL_STORAGE=y在編譯的時(shí)候也會(huì)提示由于TOOLCHAIN_SUPPORTS_THREAD_LOCAL_STORAGE為n而無(wú)法TLS, 但由于TOOLCHAIN_SUPPORTS_THREAD_LOCAL_STORAGE是Zephyr的隱藏配置項(xiàng)因此無(wú)法在prj.conf中配置。

修改方式是在zephyr/kernel/Kconfig中為gnuarmemb添加默認(rèn)支持TLS

1

2

3

config TOOLCHAIN_SUPPORTS_THREAD_LOCAL_STORAGE

bool

default y if (“$(ZEPHYR_TOOLCHAIN_VARIANT)” = “zephyr” || “$(ZEPHYR_TOOLCHAIN_VARIANT)” = “gnuarmemb”)

通過(guò)以上修改,用第三方工具鏈gnuarmemb編譯就可以支持Zephyr的TLS。

參考

https://docs.zephyrproject.org/latest/getting_started/toolchain_3rd_party_x_compilers.html

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4900

    瀏覽量

    70759
  • 編譯
    +關(guān)注

    關(guān)注

    0

    文章

    679

    瀏覽量

    34007
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4827

    瀏覽量

    86778

原文標(biāo)題:Zephyr在第三方工具鏈下開(kāi)啟TLS

文章出處:【微信號(hào):ZephyrProject,微信公眾號(hào):ZephyrProject】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    如何集成第三方支付API到電商網(wǎng)站

    ? 在電商網(wǎng)站中,集成第三方支付API是確保交易安全、提升用戶體驗(yàn)的關(guān)鍵步驟。本文將逐步指導(dǎo)您完成整個(gè)流程,從選擇支付提供商到上線后的監(jiān)控。文章結(jié)構(gòu)清晰,包含代碼示例和實(shí)用建議,幫助您高效實(shí)現(xiàn)支付
    的頭像 發(fā)表于 07-16 10:35 ?33次閱讀
    如何集成<b class='flag-5'>第三方</b>支付API到電商網(wǎng)站

    天合跟蹤獲得DNV第三方風(fēng)洞測(cè)試審查報(bào)告

    近日, 天合跟蹤獲得DNV頒發(fā)的中國(guó)支架行業(yè)首張風(fēng)洞實(shí)驗(yàn)第三方審查報(bào)告。該風(fēng)洞報(bào)告由天合跟蹤與同濟(jì)大學(xué)合作,針對(duì)開(kāi)拓者1P跟蹤支架進(jìn)行了全新的剛性模型測(cè)壓試驗(yàn)和先進(jìn)動(dòng)力學(xué)分析研究,并由DNV進(jìn)行獨(dú)立
    的頭像 發(fā)表于 07-08 17:35 ?247次閱讀

    使用 Claroty SRA 優(yōu)化第三方 OT 遠(yuǎn)程訪問(wèn)

    第三方,如原始設(shè)備制造商 (OEM) 技術(shù)員和維護(hù)承包商,是確保 OT 環(huán)境可用性、完整性和安全性的關(guān)鍵。負(fù)責(zé)服務(wù) OT 資產(chǎn)的第三方經(jīng)常遠(yuǎn)程工作。這意味著,他們會(huì)通過(guò)無(wú)數(shù)廣泛使用的解決方案遠(yuǎn)程連接
    的頭像 發(fā)表于 06-17 16:11 ?189次閱讀
    使用 Claroty SRA 優(yōu)化<b class='flag-5'>第三方</b> OT 遠(yuǎn)程訪問(wèn)

    第三方工業(yè)互聯(lián)網(wǎng)平臺(tái)有哪些

    第三方工業(yè)互聯(lián)網(wǎng)平臺(tái)有哪些
    的頭像 發(fā)表于 06-14 15:48 ?278次閱讀

    鈦和集團(tuán)榮獲零跑汽車(chē)第三方實(shí)驗(yàn)室資質(zhì)認(rèn)可

    近期,鈦和集團(tuán)順利通過(guò)了浙江零跑科技股份有限公司(以下簡(jiǎn)稱(chēng)“零跑汽車(chē)”)對(duì)第三方實(shí)驗(yàn)室的能力驗(yàn)證及資質(zhì)審核,助力零跑汽車(chē)實(shí)現(xiàn)“成為值得尊敬的世界級(jí)智能電動(dòng)車(chē)企”的品牌愿景。
    的頭像 發(fā)表于 06-13 17:00 ?487次閱讀

    鈦和集團(tuán)榮獲吉利汽車(chē)第三方實(shí)驗(yàn)室資質(zhì)認(rèn)可

    近期,鈦和集團(tuán)汽車(chē)事業(yè)部順利通過(guò)了浙江吉利控股集團(tuán)有限公司(以下簡(jiǎn)稱(chēng)“吉利汽車(chē)”)對(duì)外部實(shí)驗(yàn)室的能力驗(yàn)證及資質(zhì)審核,并獲得了第三方實(shí)驗(yàn)室認(rèn)可證書(shū),助力吉利汽車(chē)實(shí)現(xiàn)“讓世界充滿吉利”的品牌愿景。
    的頭像 發(fā)表于 06-10 15:03 ?500次閱讀

    SGS榮獲比亞迪乘用車(chē)第三方實(shí)驗(yàn)室資質(zhì)認(rèn)可證書(shū)

    近日,國(guó)際公認(rèn)的測(cè)試、檢驗(yàn)和認(rèn)證機(jī)構(gòu)SGS(以下簡(jiǎn)稱(chēng):SGS)位于重慶的標(biāo)瑞新能源實(shí)驗(yàn)室(以下簡(jiǎn)稱(chēng):SGS-CEC)榮獲比亞迪乘用車(chē)實(shí)驗(yàn)室認(rèn)可委員會(huì)(以下簡(jiǎn)稱(chēng):比亞迪)頒發(fā)的“乘用車(chē)第三方實(shí)驗(yàn)室資質(zhì)認(rèn)可證書(shū)”。
    的頭像 發(fā)表于 05-20 15:04 ?440次閱讀

    第三方的dlp3010板子時(shí)遇到的幾個(gè)問(wèn)題求解

    您好,在用第三方的dlp3010板子時(shí)遇到了如下問(wèn)題: 固件能夠更新,系統(tǒng)上電后,初始proj_on為低,resetz為低,intz為低;手動(dòng)拉高proj_on和cypress的gpio6,能夠
    發(fā)表于 02-26 07:19

    i.MX8M Yocto工程更新第三方軟件包

    NXPi.MX8M系列依托于Yocto工程進(jìn)行簡(jiǎn)單快捷的配置,可以方便增刪第三方軟件包以及更改內(nèi)核、Uboot源碼等。目前有些客戶希望能夠升級(jí)Yocto自帶軟件版本,這里就以我司
    的頭像 發(fā)表于 02-12 08:11 ?607次閱讀
    i.MX8M Yocto工程更新<b class='flag-5'>第三方</b>軟件包

    用于InterBase的ODBC驅(qū)動(dòng)程序:可與多個(gè)第三方工具兼容

    支持從任何地方輕松安全地訪問(wèn)實(shí)時(shí) InterBase 數(shù)據(jù)。 選擇 Devart ODBC Driver for InterBase 的原因 集成 該驅(qū)動(dòng)程序與第三方數(shù)據(jù)分析工具兼容, 例如 Microsoft Excel,并與各種 IDE 和系統(tǒng)集成,例如
    的頭像 發(fā)表于 01-22 09:57 ?497次閱讀
    用于InterBase的ODBC驅(qū)動(dòng)程序:可與多個(gè)<b class='flag-5'>第三方</b><b class='flag-5'>工具</b>兼容

    EE-303:將VisualDSP線程安全庫(kù)與第三方RTOS配合使用

    電子發(fā)燒友網(wǎng)站提供《EE-303:將VisualDSP線程安全庫(kù)與第三方RTOS配合使用.pdf》資料免費(fèi)下載
    發(fā)表于 01-07 14:09 ?0次下載
    EE-303:將VisualDSP線程安全庫(kù)與<b class='flag-5'>第三方</b>RTOS配合使用

    武漢第三方坐標(biāo)測(cè)量檢測(cè)中心協(xié)助外地用戶完成產(chǎn)品驗(yàn)收

    武漢易測(cè)儀器公司為武漢小鵬汽車(chē)提供坐標(biāo)測(cè)量服務(wù),精準(zhǔn)調(diào)整檢具并驗(yàn)收合格。企業(yè)尋求本地坐標(biāo)檢測(cè)機(jī)構(gòu)可節(jié)約成本,第三方機(jī)構(gòu)確保數(shù)據(jù)公正,提升產(chǎn)品質(zhì)量和客戶信任。
    的頭像 發(fā)表于 01-03 13:47 ?412次閱讀
    武漢<b class='flag-5'>第三方</b><b class='flag-5'>三</b>坐標(biāo)測(cè)量檢測(cè)中心協(xié)助外地用戶完成產(chǎn)品驗(yàn)收

    第三方檢測(cè)機(jī)構(gòu)該如何提升核心競(jìng)爭(zhēng)力?

    在國(guó)家“一帶一路”和“智能制造2025”等政策的引領(lǐng),面對(duì)競(jìng)爭(zhēng)日益激烈的國(guó)際環(huán)境,作為全球最大的制造業(yè)國(guó)家,中國(guó)的檢測(cè)行業(yè)正經(jīng)歷著迅猛的發(fā)展,成為全球增長(zhǎng)最快、潛力最大的市場(chǎng)之一。 第三方檢測(cè)逐漸
    的頭像 發(fā)表于 12-17 15:44 ?866次閱讀
    <b class='flag-5'>第三方</b>檢測(cè)機(jī)構(gòu)該如何提升核心競(jìng)爭(zhēng)力?

    鴻蒙Flutter實(shí)戰(zhàn):05-使用第三方插件

    # 鴻蒙Flutter 實(shí)戰(zhàn):使用第三方插件 在鴻蒙Flutter開(kāi)發(fā)中,如果涉及到使用原生功能,就要使用插件。使用插件有兩種方式,一種是自己編寫(xiě)原生ArkTS代碼,在Dart側(cè)調(diào)用。另外一種
    發(fā)表于 10-22 21:54

    維天地低代碼開(kāi)發(fā)平臺(tái)助力第三方質(zhì)檢行業(yè)數(shù)據(jù)可視化

    第三方檢驗(yàn)是由獨(dú)立于買(mǎi)賣(mài)雙方利益之外的第三方機(jī)構(gòu)(例如專(zhuān)業(yè)的監(jiān)督檢驗(yàn)機(jī)構(gòu))執(zhí)行的,這些機(jī)構(gòu)以公正、公平、權(quán)威的非當(dāng)事人身份,依據(jù)雙方共同認(rèn)可的法律、標(biāo)準(zhǔn)和合同等進(jìn)行商品的符合性檢驗(yàn)和認(rèn)證活動(dòng)
    的頭像 發(fā)表于 08-09 13:59 ?604次閱讀
    <b class='flag-5'>三</b>維天地低代碼開(kāi)發(fā)平臺(tái)助力<b class='flag-5'>第三方</b>質(zhì)檢行業(yè)數(shù)據(jù)可視化