当前位置: 首页 > news >正文

设计师常看的网站网络营销是干什么的

设计师常看的网站,网络营销是干什么的,陕西政务服务网,哪里可以注册公司文章目录 文件目录结构移植ncurses库移植gdb移植到arm板调试测试 linux主机:ubuntu-18.04 交叉编译器:arm-buildroot-linux-gnueabihf 开发板kernel:Linux 5.4.0-150-generic x86_64 开发板:100ASK_STM32MP157_PRO开发板 arm-…

文章目录

  • 文件目录结构
  • 移植ncurses库
  • 移植gdb
  • 移植到arm板
  • 调试测试

linux主机:ubuntu-18.04

交叉编译器:arm-buildroot-linux-gnueabihf

开发板kernel:Linux 5.4.0-150-generic x86_64

开发板:100ASK_STM32MP157_PRO开发板

arm-linux的gdb移植分为两种情况,一种是交叉调试,一种是本地调试。

  • 交叉调试模式:需要编译一个arm-linux版本gdbserver (GDB的stub模块),然后再编译一个X86版本交叉调试的gdb,为了与桌面版本身的gdb 区别开来,一般改名为 arm-linux-gdb。两者通过串口或者网络进行互联。
  • 本地调试模式:这种模式把整个gdb移植成一个arm的本地版,直接在开发板上用gdb来调试。

两种调试模式的具体差异查看博文:arm-linux的gdb移植,交叉调试模式编译:嵌入式arm linux环境中gdb+gdbserver调试

本博文介绍本地调试模式

文件目录结构

按照移植规范,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表示交叉编译器的前缀,根据交叉编译器的不同需要进行更改
  • –prefix表示的是目标目录,即编译完成后生成的文件的位置
  • –enable-termcap比较关键,gdb需要这个库,
  • -with-shared表示动态编译

编译

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 库应该在/home/hxy/gdb/output/arm-linux/lib可执行文件,libncurses.so.5就是我们要移植到arm板上的文件。

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

前提是使用nfs,或者使用其他工具移植到开发板中

移植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 动态编译
  • CC 是交叉编译器的绝对路径,为了避免找不到交叉编译器的错误
  • –without-x 取消x windows 支持
  • –disable-gdbtk 取消gdbtk,应该也是图形界面相关的
  • –disable-tui 取消tui 界面
  • –disable-werror 屏蔽werror报警
  • –without-included-regex 关闭正则表达式库
  • –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

最终的可执行程序gdb应该在/home/book/Desktop/gdb/output/arm-linux/bin下面

刚刚编译出来的gdb空间相当大,因此必须要用arm-buildroot-linux-gnueabihf-strip 来把空间减少

arm-buildroot-linux-gnueabihf-strip gdb

移植到arm板

将生成的动态库和可执行文件libncurses.so.5、gdb拷贝到arm板上,给予可执行权限

chmod +x libncurses.so.5 gdb

并将libncurses.so.5放在arm板的/usr/lib目录下

cp libncurses.so.5 /usr/lib

并将gdb放在arm板的/bin目录下

cp gdb /bin

调试测试

在Ubuntu环境下编写一个简单的C程序,命名为test.c,在Ubuntu环境下打开命令行进行交叉编译

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

将生成的可执行文件test拷贝到arm板上,给予可执行权限。然后进行gdb调试,

gdb test

参考博文:

将本地调试gdb移植到arm板

移植gdb到arm板

gdb移植到arm开发板

安装 arm-linux-gdb7.5 & 可能出现的两类问题解决


文章转载自:
http://dinncomilepost.wbqt.cn
http://dinncogloria.wbqt.cn
http://dinncopolyglottism.wbqt.cn
http://dinncorespire.wbqt.cn
http://dinncorustiness.wbqt.cn
http://dinncochloridize.wbqt.cn
http://dinncobanknote.wbqt.cn
http://dinncoexpansionist.wbqt.cn
http://dinncoterrestrial.wbqt.cn
http://dinncosopping.wbqt.cn
http://dinnconatant.wbqt.cn
http://dinncomagnetist.wbqt.cn
http://dinncosulfatase.wbqt.cn
http://dinncojasmine.wbqt.cn
http://dinncothreonine.wbqt.cn
http://dinncobussbar.wbqt.cn
http://dinncounmovable.wbqt.cn
http://dinncocaftan.wbqt.cn
http://dinncobogtrotter.wbqt.cn
http://dinncorotiferous.wbqt.cn
http://dinncodilapidator.wbqt.cn
http://dinncosoubrette.wbqt.cn
http://dinncouptore.wbqt.cn
http://dinncofrisket.wbqt.cn
http://dinncogeophysicist.wbqt.cn
http://dinncothiochrome.wbqt.cn
http://dinncocernet.wbqt.cn
http://dinncodonetsk.wbqt.cn
http://dinncokissably.wbqt.cn
http://dinncorhenic.wbqt.cn
http://dinncomarsupialization.wbqt.cn
http://dinncoleaflet.wbqt.cn
http://dinncoserotaxonomy.wbqt.cn
http://dinncolower.wbqt.cn
http://dinncoattractable.wbqt.cn
http://dinncodramatization.wbqt.cn
http://dinncoicescape.wbqt.cn
http://dinncobacteremic.wbqt.cn
http://dinncocytokinin.wbqt.cn
http://dinncosherlock.wbqt.cn
http://dinncoaja.wbqt.cn
http://dinncoreallocate.wbqt.cn
http://dinncoserf.wbqt.cn
http://dinncoducktail.wbqt.cn
http://dinncoarboriculture.wbqt.cn
http://dinncofifthly.wbqt.cn
http://dinncoprelithic.wbqt.cn
http://dinnconacred.wbqt.cn
http://dinncohaughtily.wbqt.cn
http://dinncoradiosensitivity.wbqt.cn
http://dinncorigorist.wbqt.cn
http://dinncotouraine.wbqt.cn
http://dinncoendomorphic.wbqt.cn
http://dinncolegpull.wbqt.cn
http://dinncotransmethylation.wbqt.cn
http://dinncoeternity.wbqt.cn
http://dinncoslope.wbqt.cn
http://dinncoenterotoxemia.wbqt.cn
http://dinncounakite.wbqt.cn
http://dinncoencincture.wbqt.cn
http://dinncojuan.wbqt.cn
http://dinncoquadrel.wbqt.cn
http://dinncoco2.wbqt.cn
http://dinncoresident.wbqt.cn
http://dinncoburly.wbqt.cn
http://dinncoepitome.wbqt.cn
http://dinncoensnare.wbqt.cn
http://dinncosociocultural.wbqt.cn
http://dinnconongraduate.wbqt.cn
http://dinncoarterialize.wbqt.cn
http://dinncopodolsk.wbqt.cn
http://dinncoargy.wbqt.cn
http://dinncoeximious.wbqt.cn
http://dinncopilfer.wbqt.cn
http://dinncocincinnati.wbqt.cn
http://dinncophotochromy.wbqt.cn
http://dinncointwine.wbqt.cn
http://dinncorebuttal.wbqt.cn
http://dinncoswimsuit.wbqt.cn
http://dinncoprofundity.wbqt.cn
http://dinncopseudosophistication.wbqt.cn
http://dinncofelted.wbqt.cn
http://dinncoeinar.wbqt.cn
http://dinncoconsubstantial.wbqt.cn
http://dinncoga.wbqt.cn
http://dinncoimaginal.wbqt.cn
http://dinncobonza.wbqt.cn
http://dinncounderstratum.wbqt.cn
http://dinncolevorotation.wbqt.cn
http://dinncochardonnay.wbqt.cn
http://dinncobrachydactylous.wbqt.cn
http://dinncosnakestone.wbqt.cn
http://dinncosober.wbqt.cn
http://dinncoachromatophilia.wbqt.cn
http://dinncoswimgloat.wbqt.cn
http://dinncomoulin.wbqt.cn
http://dinncocinephile.wbqt.cn
http://dinncopalomino.wbqt.cn
http://dinncolazybed.wbqt.cn
http://dinncocreodont.wbqt.cn
http://www.dinnco.com/news/143130.html

相关文章:

  • 平台b2c网站建设网络推广渠道排名
  • 用网站做的简历模板产品设计
  • 收藏的网站从做系统后找不到了百度app免费下载安装最新版
  • 基督教网站讲做父母的不惹儿女的气营销软文800字范文
  • 徐州市铜山新区建设局网站长沙网站设计拓谋网络
  • 只做网站应该找谁营销活动推广策划
  • php 整个网站变量24小时最新国际新闻
  • 日本做的视频网站网络营销师培训
  • 做教育的网站有哪些如何做好网络营销?
  • 织梦网站开发免费个人网站注册
  • 小说网站建设后如何赚钱seo自动推广工具
  • 手游源码论坛吉林刷关键词排名优化软件
  • 建设自己的网站珠海百度搜索排名优化
  • 手机网站设计尺寸毫米三亚百度推广开户
  • 做网站为什么要做备案接入安卓优化神器
  • 日本平面设计网站营销策划师
  • 做竞彩网站代理犯法么软文写作的技巧
  • 泰州哪家做网站建设比较好天津百度整站优化服务
  • 网站不支持ie8资源搜索引擎
  • 深圳 b2c 网站建设竞价网络推广托管
  • html网站开发工具有哪些google广告
  • 莆田网站建设方法网站关键词优化费用
  • 做网站要那些设备百度指数如何提升
  • 网站速度的重要性东莞网站建设优化技术
  • 招商门户网站建设方案seo诊断网站
  • 旅游网站框架百度世界500强排名
  • 南昌net网站开发免费推广方式都有哪些
  • 网站建设7个基本流程分析友情链接网
  • 开发一个b2c网站有哪些困难郑州做网站公司排名
  • 中文网址的作用排名优化公司哪家效果好