中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

公司簡介圖片模板seo營銷論文

公司簡介圖片模板,seo營銷論文,杭州市建設(shè)部門網(wǎng)站,山西疫情最新數(shù)據(jù)文章目錄 文件目錄結(jié)構(gòu)移植ncurses庫移植gdb移植到arm板調(diào)試測試 linux主機:ubuntu-18.04 交叉編譯器:arm-buildroot-linux-gnueabihf 開發(fā)板kernel:Linux 5.4.0-150-generic x86_64 開發(fā)板:100ASK_STM32MP157_PRO開發(fā)板 arm-…

文章目錄

  • 文件目錄結(jié)構(gòu)
  • 移植ncurses庫
  • 移植gdb
  • 移植到arm板
  • 調(diào)試測試

linux主機:ubuntu-18.04

交叉編譯器:arm-buildroot-linux-gnueabihf

開發(fā)板kernel:Linux 5.4.0-150-generic x86_64

開發(fā)板:100ASK_STM32MP157_PRO開發(fā)板

arm-linux的gdb移植分為兩種情況,一種是交叉調(diào)試,一種是本地調(diào)試。

  • 交叉調(diào)試模式:需要編譯一個arm-linux版本gdbserver (GDB的stub模塊),然后再編譯一個X86版本交叉調(diào)試的gdb,為了與桌面版本身的gdb 區(qū)別開來,一般改名為 arm-linux-gdb。兩者通過串口或者網(wǎng)絡(luò)進行互聯(lián)。
  • 本地調(diào)試模式:這種模式把整個gdb移植成一個arm的本地版,直接在開發(fā)板上用gdb來調(diào)試。

兩種調(diào)試模式的具體差異查看博文:arm-linux的gdb移植,交叉調(diào)試模式編譯:嵌入式arm linux環(huán)境中g(shù)db+gdbserver調(diào)試

本博文介紹本地調(diào)試模式

文件目錄結(jié)構(gòu)

按照移植規(guī)范,ncurse放入libs目錄,gdb 解壓在項目目錄下

/home/book/Desktop/gdb (項目目錄)
|
|--output
|      |-- arm-linux
|  
|-- gdb-7.6.1
|
|-- libs|-- ncurses-5.9.tar.gz

移植ncurses庫

下載地址:http://ftp.gnu.org/gnu/ncurses/
下載版本: ncurses-5.9.tar.gz

進入下載目錄,輸入命令進行解壓

tar -zxvf ncurses-5.9.tar.gz

進入解壓后的目錄

cd ncurses-5.9

生成Makfile

./configure --host=arm-buildroot-linux-gnueabihf --prefix=$PWD/output/arm-linux  --enable-termcap --with-shared --without-ada
  • –host表示交叉編譯器的前綴,根據(jù)交叉編譯器的不同需要進行更改
  • –prefix表示的是目標(biāo)目錄,即編譯完成后生成的文件的位置
  • –enable-termcap比較關(guān)鍵,gdb需要這個庫,
  • -with-shared表示動態(tài)編譯

編譯

make

報錯:

In file included from ../ncurses/curses.priv.h:283,from ../ncurses/lib_gen.c:19:
_22148.c:835:15: error: expected ‘)’ before ‘int../include/curses.h:1594:56: note: in definition of macro ‘mouse_trafo’#define mouse_trafo(y,x,to_screen) wmouse_trafo(stdscr,y,x,to_screen)^
Makefile:794: recipe for target '../obj_s/lib_gen.o' failed
make[1]: *** [../obj_s/lib_gen.o] Error 1
make[1]: Leaving directory '/home/book/Desktop/gdb/ncurses-5.9/ncurses'
Makefile:109: recipe for target 'all' failed
make: *** [all] Error 2

解決方法:

進入ncurses-5.9/include文件夾,修改 curses.tail 文件:
將 extern NCURSES_EXPORT(bool)    mouse_trafo (int*, int*, bool);              /* generated */ 
改為 extern NCURSES_EXPORT(bool)    mouse_trafo (int*, int*, bool);
也就是去掉注釋 /* generated */

安裝

make install

以上操作成功后,會在libncurses.so.5 庫應(yīng)該在/home/hxy/gdb/output/arm-linux/lib可執(zhí)行文件,libncurses.so.5就是我們要移植到arm板上的文件。

cp libncurses.so.5 /home/book/nfs_rootfs/

前提是使用nfs,或者使用其他工具移植到開發(fā)板中

移植gdb

下載gdb源代碼:http://ftp.gnu.org/gnu/gdb/
下載版本: gdb-7.6.1.tar.gz

進入下載目錄解壓

tar -xvf gdb-7.6.1.tar.gz

進入解壓目錄

cd gdb-7.6.1

生成Makefile

./configure --host=arm-buildroot-linux-gnueabihf CC=/home/book/100ask_stm32mp157_pro-sdk/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/bin/arm-buildroot-linux-gnueabihf-gcc --enable-shared --prefix=$PWD/output/arm-linux --disable-werror --without-x --disable-gdbtk --disable-tui --without-included-regex --without-included-gettext LDFLAGS="-L$PWD/../output/arm-linux/lib" CPPFLASS="-I$PWD/../output/arm-linux/include"
  • –enable-shared 動態(tài)編譯
  • CC 是交叉編譯器的絕對路徑,為了避免找不到交叉編譯器的錯誤
  • –without-x 取消x windows 支持
  • –disable-gdbtk 取消gdbtk,應(yīng)該也是圖形界面相關(guān)的
  • –disable-tui 取消tui 界面
  • –disable-werror 屏蔽werror報警
  • –without-included-regex 關(guān)閉正則表達式庫
  • –without-included-gettext 去掉用于多語言處理的 gettext庫。正則表達式/gettext暫時不需要
  • –host=arm-buildroot-linux-gnueabihf 用arm-buildroot-linux-gnueabihf編譯
  • –prefix=“$PWD/output/arm-linux” 安裝目錄
  • "LDFLAGS=XXX"指定的是前面交叉編譯完成的ncurse的lib目錄的路徑
  • "CPPFLAGS=XXX"指定的是前面交叉編譯完成的ncurse的include目錄的路徑;

編譯

make

安裝

make install

最終的可執(zhí)行程序gdb應(yīng)該在/home/book/Desktop/gdb/output/arm-linux/bin下面

剛剛編譯出來的gdb空間相當(dāng)大,因此必須要用arm-buildroot-linux-gnueabihf-strip 來把空間減少

arm-buildroot-linux-gnueabihf-strip gdb

移植到arm板

將生成的動態(tài)庫和可執(zhí)行文件libncurses.so.5、gdb拷貝到arm板上,給予可執(zhí)行權(quán)限

chmod +x libncurses.so.5 gdb

并將libncurses.so.5放在arm板的/usr/lib目錄下

cp libncurses.so.5 /usr/lib

并將gdb放在arm板的/bin目錄下

cp gdb /bin

調(diào)試測試

在Ubuntu環(huán)境下編寫一個簡單的C程序,命名為test.c,在Ubuntu環(huán)境下打開命令行進行交叉編譯

arm-buildroot-linux-gnueabihf-gcc -g test.c -o test

將生成的可執(zhí)行文件test拷貝到arm板上,給予可執(zhí)行權(quán)限。然后進行g(shù)db調(diào)試,

gdb test

參考博文:

將本地調(diào)試gdb移植到arm板

移植gdb到arm板

gdb移植到arm開發(fā)板

安裝 arm-linux-gdb7.5 & 可能出現(xiàn)的兩類問題解決

http://www.risenshineclean.com/news/57289.html

相關(guān)文章:

  • 深圳做網(wǎng)站聯(lián)系電話免費網(wǎng)站排名優(yōu)化軟件
  • 創(chuàng)業(yè)做婚戀交友網(wǎng)站網(wǎng)站排名快速提升
  • php旅游網(wǎng)站開發(fā)背景男生短期培訓(xùn)就業(yè)
  • 制作網(wǎng)站的順序是谷歌推廣代理商
  • 網(wǎng)站欄目策劃 有思想的新聞日本疫情最新數(shù)據(jù)
  • 小程序網(wǎng)站建設(shè)百度搜索使用方法
  • 企業(yè)網(wǎng)站建設(shè)問題研究瀏覽器下載安裝
  • 怎么在自己做的網(wǎng)站上發(fā)視頻站長工具星空傳媒
  • 杭州網(wǎng)站改版公司電話安卓手機優(yōu)化神器
  • 北京疫情死亡人員名單福州360手機端seo
  • 營銷網(wǎng)站制作設(shè)計網(wǎng)絡(luò)推廣方案的基本思路
  • 教育培訓(xùn)網(wǎng)站制作百度2023免費下載
  • 膠州國際網(wǎng)站建設(shè)效果賺錢平臺
  • 做pc端網(wǎng)站教程百度非企渠道開戶
  • 織夢網(wǎng)站英文版怎么做外貿(mào)建站教程
  • 青島網(wǎng)站建設(shè)哪家權(quán)威寧波網(wǎng)站優(yōu)化公司價格
  • 發(fā)布消息做任務(wù)的網(wǎng)站網(wǎng)絡(luò)推廣培訓(xùn)課程內(nèi)容
  • 如何引用網(wǎng)站圖片東莞網(wǎng)站設(shè)計公司排名
  • 池州市住房和城鄉(xiāng)建設(shè)委員會網(wǎng)站模板建站的網(wǎng)站
  • 寧波網(wǎng)站設(shè)計建站服務(wù)公司搜索引擎優(yōu)化的作用是什么
  • 網(wǎng)站優(yōu)怎么做百度一下百度網(wǎng)頁版
  • 做網(wǎng)站二維碼網(wǎng)絡(luò)推廣怎么學(xué)
  • 免費搭建業(yè)務(wù)網(wǎng)站阿里云云服務(wù)平臺
  • 服務(wù)器租用網(wǎng)站模板寧波seo網(wǎng)絡(luò)推廣軟件系統(tǒng)
  • php裝飾公司網(wǎng)站源碼云南seo網(wǎng)站關(guān)鍵詞優(yōu)化軟件
  • 哪個網(wǎng)站做黑色星期五訂酒店活動如何做網(wǎng)站設(shè)計
  • 咖啡網(wǎng)站設(shè)計模板有什么好的網(wǎng)站嗎
  • 常州市城鄉(xiāng)建設(shè)學(xué)院網(wǎng)站如何在百度推廣自己的產(chǎn)品
  • 有沒有專門做牛仔的網(wǎng)站谷歌引擎搜索入口
  • 政府網(wǎng)站建設(shè)運維情況自查沈陽seo關(guān)鍵詞排名優(yōu)化軟件