在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

Zephyr如何在第三方工具鏈下開啟TLS

ZephyrProject ? 來源:HalfCoder ? 作者: lgl88911 ? 2021-07-05 08:58 ? 次閱讀

在Zephyr TLS線程本地存儲的實現一文中說明了如何在Zephyr上使用TLS,在這種默認的情況下Zephyr的編譯是使用的是Zephyr SDK提供的工具鏈。

而在一些特殊情況下我們希望使用重新配置編譯第三方工具鏈來編譯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

解壓縮后有一個How-to-build-toolchain.pdf文檔說明如何編譯

安裝依賴

我的環境是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

修改編譯配置項

不需要mingw32,配置為跳過加速編譯

1

2

skip_mingw32=yes

skip_mingw32_gdb_with_python=yes

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

gcc-arm-none-eabi默認是關閉tls的,gcc編譯代碼后訪問TLS時使用的是emulated tls,和Zephyr的實現不一致,需要改為--enable-tls

編譯

執行下面命令進行編譯

1

2

3

。/install-sources.sh

。/build-prerequisites.sh

。/build-toolchain.sh

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

在編譯gdb的時候可能會提示python有問題,原因是我的默認版本是python3, 需要進行python版本切換gcc-arm-none-eabi-9-2020-q2使用python 2.7, 切換方法見Python2和3切換

第三方工具鏈配置TLS

使用第三方工具鏈

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

1

2

export ZEPHYR_TOOLCHAIN_VARIANT=gnuarmemb

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

修改Zephyr配置

當使用第三方工具鏈后即使配置了CONFIG_THREAD_LOCAL_STORAGE=y在編譯的時候也會提示由于TOOLCHAIN_SUPPORTS_THREAD_LOCAL_STORAGE為n而無法TLS, 但由于TOOLCHAIN_SUPPORTS_THREAD_LOCAL_STORAGE是Zephyr的隱藏配置項因此無法在prj.conf中配置。

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

1

2

3

config TOOLCHAIN_SUPPORTS_THREAD_LOCAL_STORAGE

bool

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

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

參考

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

編輯:jq

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

    關注

    30

    文章

    4809

    瀏覽量

    68826
  • 編譯
    +關注

    關注

    0

    文章

    661

    瀏覽量

    32938
  • python
    +關注

    關注

    56

    文章

    4801

    瀏覽量

    84882

原文標題:Zephyr在第三方工具鏈下開啟TLS

文章出處:【微信號:ZephyrProject,微信公眾號:ZephyrProject】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

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

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

    第三方檢測機構該如何提升核心競爭力?

    在國家“一帶一路”和“智能制造2025”等政策的引領,面對競爭日益激烈的國際環境,作為全球最大的制造業國家,中國的檢測行業正經歷著迅猛的發展,成為全球增長最快、潛力最大的市場之一。 第三方檢測逐漸
    的頭像 發表于 12-17 15:44 ?181次閱讀
    <b class='flag-5'>第三方</b>檢測機構該如何提升核心競爭力?

    鴻蒙Flutter實戰:05-使用第三方插件

    # 鴻蒙Flutter 實戰:使用第三方插件 在鴻蒙Flutter開發中,如果涉及到使用原生功能,就要使用插件。使用插件有兩種方式,一種是自己編寫原生ArkTS代碼,在Dart側調用。另外一種
    發表于 10-22 21:54

    維天地低代碼開發平臺助力第三方質檢行業數據可視化

    第三方檢驗是由獨立于買賣雙方利益之外的第三方機構(例如專業的監督檢驗機構)執行的,這些機構以公正、公平、權威的非當事人身份,依據雙方共同認可的法律、標準和合同等進行商品的符合性檢驗和認證活動
    的頭像 發表于 08-09 13:59 ?301次閱讀
    <b class='flag-5'>三</b>維天地低代碼開發平臺助力<b class='flag-5'>第三方</b>質檢行業數據可視化

    請問esp8266會開放使用第三方云服務器嗎?

    如題,esp8266會開放使用第三方云服務器嗎,如百度,阿里云服務器?
    發表于 07-12 11:40

    x-ray射線無損檢測第三方檢測機構廠家

    樣的背景,X-ray射線無損檢測技術以其獨特的優勢,在第三方檢測機構中脫穎而出,成為保障產品質量、守護安全底線的重要利器。【科技之光,透視未來】X-ray射線無損
    的頭像 發表于 07-09 16:36 ?520次閱讀
    x-ray射線無損檢測<b class='flag-5'>第三方</b>檢測機構廠家

    是否有可能在支持gdb的第三方集成開發環境中使用DAS配置調試?

    是否有可能在支持 gdb 的第三方集成開發環境中使用 DAS 配置調試?
    發表于 07-02 07:29

    微軟或將開放Xbox主機授權給第三方廠商

    據悉,5 月 26 日,知名媒體 Windows Central 的編輯 Jez Corden 揭露了微軟即將遵循第三方手柄流程,允許在其 XBOX 主機上引入第三方產品。
    的頭像 發表于 05-27 15:18 ?679次閱讀

    MacPaw將在歐盟成員國推出第三方應用商店Setapp

    5月14日,MacPaw正式宣布將在今年5月14日在歐盟成員國面向蘋果iPhone推出第三方應用商城Setapp。自今年2月起,MacPaw已著手籌備該平臺。S
    的頭像 發表于 05-14 10:14 ?396次閱讀

    谷歌開放ZenDeviceEffects API,助第三方應用實現睡前屏幕管理

    據報道,谷歌近日在安卓 15 開發者預覽版 2 中推出了全新 ZenDeviceEffects API,允許第三方應用訪問數字健康的就寢模式功能。
    的頭像 發表于 05-08 16:41 ?506次閱讀

    Labview如何內嵌操作第三方EXE程序!

    自己在網上搜了下相關資料,能把第三方EXE內嵌進入容器里,但是有個問題,這個第三方軟件必須手動拖到容器正中間,手動最大化。請問有什么方法可以自動實現嗎? 下圖是我內嵌的POLL 軟件。如圖!
    發表于 04-18 14:26

    微軟或將引入第三方數字游戲商店至Xbox平臺

    微軟選擇引入這些第三方游戲平臺,一面可以增加自身擁有的硬件資源和服務優勢;另一面,也是為了吸引那些在電腦端能夠自由選擇游戲購買渠道的游戲用戶。據悉,此前的Xbox系列產品都是只內置自家的商城。
    的頭像 發表于 03-27 15:51 ?511次閱讀

    stm32H743IIT6串口2跟第三方設備通訊,不插USB就通訊不了怎么解決?

    stm32H743IIT6串口2跟第三方設備通訊。插上USB就可以通訊,不插USB就通訊不了,有沒有大神幫忙解決
    發表于 03-22 06:42

    Meta Quest頭顯將支持多款安卓第三方應用并行

    Meta已悄然啟動了與此相關的功能,意味著Quest頭顯可同時操作多個第三方Android應用。在此之前,Quest對第三方Android應用有嚴格限制,用戶每次僅能打開一個,無法實現同屏幕并行多個第三方應用進程。
    的頭像 發表于 03-11 10:58 ?781次閱讀

    蘋果iOS 17.4版允許歐盟地區用戶使用第三方應用商店下載應用

    3月6日,蘋果正式推出iOS 17.4版本,首次符合歐州《數字市場法》規定,引入“第三方應用商店”選項,讓iPhone用戶能從非App Store處下載應用程序。
    的頭像 發表于 03-06 10:51 ?923次閱讀
    主站蜘蛛池模板: 毛片在线播放网址| 国产乱辈通伦影片在线播放| 狠狠色婷婷七月色综合| 在线二区| 欧美成人伊人十综合色| 天堂bt种子资源+在线| 成人免费aaaaa毛片| 国内视频一区二区三区| 成片一卡三卡四卡免费网站| www色在线| 亚洲97在线| 色偷偷狠狠色综合网| 欧亚激情偷乱人伦小说视频| 免费成人看片| 国产精品三级国语在线看| 最新欧美一级视频| 日本综合在线| 欧美最猛黑人xxxxwww| 特黄特a级特别特级特毛片| 一级做α爰片久久毛片| 福利色播| 伊人久久成人成综合网222| 国产吧在线| 一本高清在线| 人人爱天天做夜夜爽| 国产日日夜夜| 免费观看高清视频| 鸥美毛片| 天堂网| 视频一区日韩| 久色网| www.欧美色图| 久久久久亚洲香蕉网| 国产黄视频在线观看| 国产精品成人免费观看| 色狠狠狠色噜噜噜综合网| 狠狠色丁香久久婷婷综| 天天天天做夜夜夜夜| 免费播放视频| 亚洲欧美色鬼久久综合| 农村三级毛片|