Linux下arm-linux-insight不能设置make target linux26怎么办

Linux下安装insight时遇到的问题?
insight版本为6.8.1a,configure能过,在make时报错,具体信息如下elf32-i386.c: In function 'elf_i386_relocate_section':elf32-i386.c:2635:16: error: variable 'warned' set but not used [-Werror=unused-but-set-variable]
^cc1: all warnings being treated as errorsmake[4]: *** [elf32-i386.lo] 错误 1make[4]:正在离开目录 `/home/zrsong/下载/insight-6.8-1/bfd'make[3]: *** [all-recursive] 错误 1make[3]:正在离开目录 `/home/zrsong/下载/insight-6.8-1/bfd'make[2]: *** [all] 错误 2make[2]:正在离开目录 `/home/zrsong/下载/insight-6.8-1/bfd'make[1]: *** [all-bfd] 错误 2make[1]:正在离开目录 `/home/zrsong/下载/insight-6.8-1'make: *** [all] 错误 2求教
已有帐号?
社交帐号登录
无法登录?
社交帐号登录安装arm-linux-gdb和gdb-server和insight
tar zxvf gdb-7.3.1.tar.gz
./configure --target=arm-linux --prefix=/home/lcn/arm-linux-gdb
--program-prefix=arm-linux-
make install
[转]VMware+Ubuntu8.10+Skyeye+gdb实现u-boot源码调试&&
Ubuntu8.10ubuntu-8.10-desktop-i386.iso
u-boot-1.2.0
Skyeye-1.2.6
GDBinsight-6.8.tar.bz2
VMwareUbuntu8.10
VMwareVMwareUbuntu8.10BaiduVmware Ubuntu8.10
Ubuntu8.10VMware Tools
ToolsWindowsXPUbuntu8.10Ubuntu8.10
Ubuntu8.10
Ubuntu8.10
sudo gedit
/etc/apt/sources.list
http://tw./ubuntu intrepid main restricted
universe multiverse
http://tw./ubuntu intrepid-security main
restricted universe multiverse
http://tw./ubuntu intrepid-updates main
restricted universe multiverse
http://tw./ubuntu intrepid-backports main
restricted universe multiverse
http://tw./ubuntu intrepid-proposed main
restricted universe multiverse
http://tw./ubuntu intrepid main restricted
universe multiverse
http://tw./ubuntu intrepid-security main
restricted universe multiverse
http://tw./ubuntu intrepid-updates main
restricted universe multiverse
http://tw./ubuntu intrepid-backports main
restricted universe multiverse
http://tw./ubuntu intrepid-proposed main
restricted universe multiverse
#Ubuntu China Official Mirror, maintained by
Shanghai Linux User Group
http://cn./ubuntu intrepid main restricted
universe multiverse
http://cn./ubuntu intrepid-security main
restricted universe multiverse
http://cn./ubuntu intrepid-updates main
restricted universe multiverse
http://cn./ubuntu intrepid-backports main
restricted universe multiverse
http://cn./ubuntu intrepid-proposed main
restricted universe multiverse
http://cn./ubuntu intrepid main restricted
universe multiverse
http://cn./ubuntu intrepid-security main
restricted universe multiverse
http://cn./ubuntu intrepid-updates main
restricted universe multiverse
http://cn./ubuntu intrepid-backports main
restricted universe multiverse
http://cn./ubuntu intrepid-proposed main
restricted universe multivers
sudo apt-get
binutils-dev
build-essential
libx11-dev
libncurse5-dev
SystemrootApply
skyeye-1.2.6_rc1.tar.bz2
skyeye-1.2.6_rc1.tar.bz2
skyeye-1.2.6_rc1
device/nandflash/nandflash_smallblock.c line
nf-&fdump=open(dev-&dump,FILE_FLAG,0666))&0)
./configure
查看/usr/local/bin,多出一项skyeye,这就是我们启动skyeye的命令文件。之后可在任何目录下运行skyeye。
skyeye将显示以下内容,说明安装正确:
****************************
WARNING **********************************
If you want to run ELF image, you
should use -e option to indicate
your elf-format image filename. Or
you only want to run binary image,
you need to set the filename of the
image and its entry in skyeye.conf.
***********************************************************************
Your elf file is little
Failed to open skyeye config file
skyeye.conf in the same directory
error: No such file or
SkyEye 1.2.6
Bug report:
skyeye-developer@lists.gro.clinux.org
Usage: skyeye [options] -e program
[program args]
Default mode is STANDALONE
------------------------------------------------------------------
-e exec-file& &&&&&&the
(ELF executable format)kernel file name.
load_address,load_address_mask
&&&&&&&&&&&&&&&&&&&
Load ELF file to another address, not its entry.
-b&&&&&&&&&&&&&&&&&
specify the data type is big endian when non "-e"
-d&&&&&&&&&&&&&&&&&
in GDB Server mode (can be connected by GDB).
-c config-file&&&&&
the skyeye configure file name.
-h&&&&&&&&&&&&&&&&&
The SkyEye command options, and ARCHs and CPUs
simulated.
------------------------------------------------------------------
----------- Architectures and CPUs
simulated by SkyEye-------------
-------- ARM architectures
pxa_lubbock
pxa_mainstone
sharp_lh7a400
-------- BlackFin architectures
sudo cp cross-3.2.tar.bz2 /
cross-3.2.tar.bz2
sudo tar jxvf&
cross-3.2.tar.bz2
sudo rm &rf
cross-3.2.tar.bz2
/usr/local/arm
/usr/local/arm
sudo gedit
/ect/apt/environment
:/usr/local/arm/bin
arm-linux-gcc -v
Reading specs from
/usr/local/arm/bin/../lib/gcc-lib/arm-linux/3.2/specs
Configured with: ./configure --target=arm-linux
--prefix=/usr/local/arm/
--with-headers=/home/sylam/armbuild/src/linux/include
--disable-shared --disable-threads --enable-languages=c :
(reconfigured) ./configure --target=arm-linux
--prefix=/usr/local/arm/
--with-headers=/home/sylam/armbuild/src/linux/include
model: posix
version 3.2
u-boot-1.2.0.tar.bz2
u-boot-1.2.0.tar.bz2
u-boot-1.2.0
common/cmd_bootm.c
U_BOOT_CMD(
CFG_MAXARGS,&&&&
"bootm&& -
boot application image from memory\n",
"[addr [arg ...]]\n&&&
- boot application image stored in
"\tpassing arguments 'arg ...'; when booting a Linux
kernel,\n"
"\t'arg' can be the address of an initrd
CONFIG_OF_FLAT_TREE
"\tWhen booting a Linux kernel which requires a flat
device-tree\n"
"\ta third argument is required which is the address of the of
"\tdevice-tree blob. To boot that kernel without an initrd
"\tuse a '-' for the second argument. If you do not pass a
"\ta bd_info struct will be passed
instead\n"
CONFIG_OF_FLAT_TREE
U_BOOT_CMD(
CFG_MAXARGS,&&&
1,& do_bootm,
"bootm&& - boot application image
from memory\n",
&&& "[addr [arg
...]]\n&&& -
boot application image stored in memory\n"
&&& "passing
arguments 'arg ...'; when booting a Linux kernel,\n"
&&& "\t'arg' can
be the address of an initrd image\n"
&&& "\tWhen
booting a Linux kernel which requires a flat device-tree\n"
&&& "\ta third
argument is required which is the address of the of the\n"
"\tdevice-tree blob. To boot that kernel without an initrd
&&& "\tuse a '-'
for the second argument. If you do not pass a third\n"
&&& "\ta bd_info
struct will be passed instead\n"
U_BOOT_CMD(
CFG_MAXARGS,&&&
1,& do_bootm,
"bootm&& - boot application image
from memory\n",
&&& "[addr [arg
...]]\n&&& -
boot application image stored in memory\n"
&&& "\tpassing
arguments 'arg ...'; when booting a Linux kernel,\n"
&&& "\t'arg' can
be the address of an initrd image\n"
smdk2410_config
GCCGCC-4.3.2GCC-4.2.0
GCC-4.3.2gdbgcc
sudo apt-get install
/usr/bin/gcc
ln &s /usr/bin/gcc-4.2
/usr/bin/gcc
built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr
--enable-shared --with-system-zlib --libexecdir=/usr/lib
--without-included-gettext --enable-threads=posix --enable-nls
--with-gxx-include-dir=/usr/include/c++/4.2 --program-suffix=-4.2
--enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc
--enable-mpfr --enable-targets=all --enable-checking=release
--build=i486-linux-gnu --host=i486-linux-gnu
--target=i486-linux-gnu
model: posix
version 4.2.4 (Ubuntu 4.2.4-3ubuntu4)
gdb-6.8.tar.bz2
gdb-6.8.tar.bz2
./configure&
--target=arm-linux
gdb-server
gdb-6.8/gdb/gdbServer
./configure& --target=arm-linux
--host=arm-linux
CC=/usr/local/arm/bin/arm-linux-gcc
GDBinsight-6.8
insight-6.8.tar.bz2
insight-6.8.tar.bz2
insight-6.8
./configure
--target=arm-linux& --enable-sim
--prefix=/usr/local
/usr/local/bin
arm-linux-insight
arm-linux-insight insight
xmlnamespace prefix ="v" ns ="urn:schemas-microsoft-com:vml"
arm-linux-insight skyeyeu-boot
u-boot-1.2.0u-boot
u-boot.bin
skyeye.conf
skyeye config file for S3C2410X
physical memory
mem_bank: map=M, type=RW, addr=0x,
mem_bank: map=M, type=R, addr=0x,
#mem_bank: map=M, type=R, addr=0x, size=0x,
file=./u-boot.bin,boot=yes
mem_bank: map=M, type=RW, addr=0x,
size=0x03f80000
mem_bank: map=M, type=RW, addr=0x33F80000,
size=0x,file=./u-boot.bin,boot=yes
peripherals I/O mapping area
mem_bank: map=I, type=RW, addr=0x,
mem_bank: map=I, type=RW, addr=0x,
type=cs8900a, base=0x, size=0x20,int=9,
mac=08:00:3E:26:0A:5B, ethmod=tuntap, hostip=192.168.245.100
#nandflash:
type=s3c2410x,name=K9F1208U0B,dump=./nand.dump
type=s3c2410x, mod=gtk
#dbct:state=on
skyeyedskyeye
sudo skyeye &c& skyeye.conf
skyeye debugTCP:12345gdbu-bootx33f8000
arm-linux-insight
500)this.width=500;"&
FileTarget Settings
500)this.width=500;"&
0x33f80000
RunConnect to
0x33f80000
Ctrl+R Register
500)this.width=500;"&
500)this.width=500;"&
board.cstart_armboot
Cstart_armboot
500)this.width=500;"&
Skyeyeu-bootucosii
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。linux下vim如何才能设置的和sourceinsight一样好用?最好要有配置文件。_百度知道
linux下vim如何才能设置的和sourceinsight一样好用?最好要有配置文件。
没像 sourceinsight 用般说任何软件都没完全替代品同类软件没必要模仿其软件所决定使用 vim必需先解 vim 何工作或者由于 vim 于陡峭习曲线找找其源代码阅读工具
来自团队:
其他类似问题
为您推荐:
vim的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁1670人阅读
insight6.8的使用
主要记录一下使用 JLinkGDBServer 的方法,运行./JLinkGDBServer 之后打印信息如下:
root@kangear:~/JLink_Linux_V422a# ./JLinkGDBServer&
SEGGER J-Link GDB Server V4.22
JLinkARM.dll V4.22 (DLL compiled Apr &5 :52)
Listening on TCP/IP port&<span style="color:#ff
J-Link connected
Firmware: J-Link ARM V8 compiled Jun 16 :53
Hardware: V8.00
Feature(s): RDI,FlashDL,FlashBP,JFlash,GDBFull
J-Link found 1 JTAG device, Total IRLen = 4
JTAG ID: 0x0032409D (ARM9)
然后另一个终端打开arm-linux-insight:
其中Host name&不能是 你的真实的ip,可以完全输入截图中的,关于port看上边的打印信息中的port输入进去就OK了。以下是&./JLinkGDBServer 这个终端连接上之后的反应:
Connected to 127.0.0.1
Reading all registers
Read 4 bytes @ address 0x (Data = 0xEA000012)
Read 4 bytes @ address 0xFFFFFFFC (Data = 0x)
Read 4 bytes @ address 0x (Data = 0xEA000012)
Read 4 bytes @ address 0xFFFFFFFC (Data = 0x)
Read 4 bytes @ address 0x (Data = 0xEA000012)
Read 4 bytes @ address 0x (Data = 0xEA000012)
Read 4 bytes @ address 0x (Data = 0xEA000012)
Debugger terminated connection !
还有arm-linux-insight的反应:
出现的问题:
打开之后,会造成不能输入的解决方法:
其实insight启动后会在当前用户主目录执行.gdbtkinit这个文件,里面保存了很多配置信息,大家可以进去看看,端口也是在里面更改的。
参考:1。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1312211次
积分:18572
积分:18572
排名:第259名
原创:424篇
转载:200篇
评论:776条
(4)(1)(1)(3)(4)(7)(1)(3)(10)(3)(3)(7)(3)(6)(7)(10)(9)(13)(21)(10)(8)(5)(6)(8)(10)(4)(3)(6)(5)(11)(10)(28)(26)(54)(28)(34)(30)(64)(17)(23)(115)(8)ubuntu&linux下openocd&+&gdb-insight调试arm程序(转)
linux下openocd + gdb-insight调试arm程序
gdb-insight调试
openocd版本为svn 1214,insight版本为6.8 开发环境为ubuntu-8.04
包都升级到最新。
板子为自己设计的LPC2294的板子,BANK0 为SST39VF1601,BANK1为issi61lv25616al。
首先安装usb驱动库:
下载libusb-0.1.12 (地址google上搜)
./configure
make install
openocd 安装
#./bootstrap
#./configure --enable-jlink (我使用的jtag调试工具是jlink)
#make install
卸载时使用make uninstall即可,当然别删了makefile文件
insight安装
yu@yu-desktop:~/e-work/insight-6.8$ cd ..
yu@yu-desktop:~/e-work$ mkdir insight-arm
yu@yu-desktop:~/e-work$ cd insight-arm
yu@yu-desktop:~/e-work/insight-arm$
../insight-6.8/configure --target=arm-linux-gnueabi --enable-sim
--prefix=/usr/local/insight-arm-6.8 --with-termlib=ncurses
我使用的edlk-4.2编译的arm程序,工具前缀都是arm-linux-gnueabi,
所以--target=arm-linux-gnueabi,我们安装到/usr/local/insight-arm-6.8,
因为我们安装的是交叉工具链,有时候需要安装多个版本,所以每个分别安装的不同目录,使用时把相应的目录加入PATH,避免版本之间出错。在工作目录建立source文件,内容为:
///////////////////////////////////////////////////////////////////////
#export CROSS_COMPILE=arm-elf-
export CROSS_COMPILE=arm-linux-
PATH=/home/yu/e-work/eldk/usr/bin:/usr/local/insight-arm-6.8/bin:${PATH}
PATH=/home/yu/e-work/eldk/usr/bin:/usr/local/insight-arm-6.6/bin:${PATH}
#export GUI_LIBRARY=/usr/local/insight-arm-6.8/lib
echo "Altered environment for u-boot Development"
//////////////////////////////////////////////////////////////////////
当然要先安装libncurses5及libncurses5-dev(头文件 库等),在新立德软件管理器内搜即可。
在工作目录(我的是/home/yu/e-work)建立openocd.cfg,内容如下:
////////////////////////////////////////////////////////////////////////////////////////////
#daemon configuration
telnet_port 4444
gdb_port 1000
tcl_port 6666
# GDB can also flash my flash!
#gdb_memory_map enable
gdb_memory_map disable #我的insight不支持
#gdb_flash_program enable
gdb_breakpoint_override soft
#gdb_detach reset
#interface
interface jlink
#jtag_speed 0 #Note that the JTAG speed is given in kHz with 0
meaning to autodetect.
#may be I should use jtag_speed 3000, because the speed is too
slow!!!! usb drivers's fault???
#jtag_rclk 3000
jtag_speed 3000
#delays on reset lines
jtag_nsrst_delay 200
jtag_ntrst_delay 200
#use combined on interfaces or targets that can't set TRST/SRST
separately
#reset_config trst_and_srst srst_pulls_trst
reset_config trst_and_srst
#hard reset the system to a reliable state
#jtag_reset srst
#sleep 500
# It has atmel lpc2294 chip.
source [find lpc2294.cfg]
# The board has a NOR flash on CS0
#flash configuration
#flash bank &driver&
&chip_width&
&bus_width& [driver_options
#flash bank cfi 0xx 2 0 #jedec_probe #haven't
surport FOR sst39vf1601
#Enable use of the DBGRQ bit to force entry into debug mode. This
should be safe for all but ARM7TDMI&S cores
# (like Philips LPC).
#arm7_9 dbgrq enable
#if set this command in the upper line, openocd willn't recognize
this command!
arm7_9 dbgrq disable
proc psm-c30-a_init { } {
# Force target into ARM state
soft_reset_halt
#force cpu go into Supervisor Mode, and disable IRQ and FIQ
#mww cpsr 0xd3 use this command will make cpu issue data
arm7_9 write_xpsr 0xd3 0
#Disable PLL
mww 0xe01fc080 0x0
#remap interrupt vector to onchip flash
mww 0xe01fc040 0x
#init the bus
mww 0xe002c014 0x0f810914
mww 0xffe0feff
mww 0xffe0feff
#probe on chip flash
flash probe 0
$_TARGETNAME configure -event gdb-attach psm-c30-a_init
#gdb来连接的时候执行这个事件!
//////////////////////////////////////////////////////////////////////////////////////
openocd的文档没有很仔细的看,但是感觉各版本的命令区别很大。
mww命令如果不再事件函数中就会不能识别此指令。arm7_9 dbgrq disable如果放在source [find
lpc2294.cfg]前也会不能识别。
所以指令的次序也很重要!可能在搜索到tap之前有些指令还不能执行!
gdb_memory_map disable 是因为我的insight带的gdb编译时默认没有打开parse XML memory
map选项,具体怎么打开,还没有看,configure --help应该有。arm7_9 dbgrq
disable因为lpc必须关闭。使用arm7_9 write_xpsr 0xd3
0,而不使用mww写cpsr是因为使用后者会报错,提示引起data abort。
reset_config trst_and_srst 我的jtag复位和系统复位是分别控制的。
发 现如果使用jtag_rclk
3000,即先使用rclk自己搜索jtag工作频率,速度会很慢。另外我的sst39vf1601不是cfi全兼容的,目前openocd还不支持,但
是openocd的maillist上有人修改源码支持,还没有进一步的分析。lpc2294.cfg在openocd源代码的src/target
/target目录下有。也要放在当前工作目录,从而使得openocd能找到,我的lpc2294.cfg的内容:
if { [info exists CHIPNAME] } {
set _CHIPNAME $CHIPNAME
set _CHIPNAME lpc2294
if { [info exists ENDIAN] } {
set _ENDIAN $ENDIAN
set _ENDIAN little
if { [info exists CPUTAPID ] } {
set _CPUTAPID $CPUTAPID
# force an error till we get a good number
# set _CPUTAPID 0xffffffff
set _CPUTAPID 0x4f1f0f0f #此处要修改成你的cpu的id
#jtag scan chain
jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf
-expected-id $_CPUTAPID
set _TARGETNAME [format "%s.cpu" $_CHIPNAME]
target create $_TARGETNAME arm7tdmi -endian $_ENDIAN
-chain-position $_TARGETNAME -variant arm7tdmi-s_r4
$_TARGETNAME configure -work-area-virt 0 -work-area-phys 0x
-work-area-size 0x4000 -work-area-backup 0
#flash configuration
#flash bank lpc2000 &base&
&size& 0 0
#flash bank lpc 0x 0 lpc65
calc_checksum
#主频要修改成此时你的处理器的频率,特别是如果处理器内部已经烧写了程序时,要设置成你的那个程序设置的频率。
#而不是gdb attach时的频率。
#内部flash配置
flash bank lpc 0x 0 lpc00
calc_checksum
# For more information about the configuration files, take a look
# openocd.texi
我的gdb初始化脚本文件:
/////////////////////////////////////////////////////
#GDB 6.8 and higher set any memory area not in the memory map as
inaccessible, this can be changed to the old behaviour by #using
the following gdb command.
set mem inaccessible-by-default off
#Previous versions of OpenOCD required the following gdb options to
increase the packet size and speed up gdb communication.
#This is now handled in the qSupported PacketSize.
#但是现在如果去掉,还是出现(openocd那边):Warning:acknowledgment received, but no
packet pending
#Warning:negative reply, retrying
#Error: GDB missing ack(2) - assumed good
#Warning:negative reply, retrying
#之类的错误,gdb的console窗口也会出现错误。
set remote memory-write-packet-size 1024
set remote memory-write-packet-size fixed
set remote memory-read-packet-size 1024
set remote memory-read-packet-size fixed
target remote localhost:1000
monitor sleep 500
monitor poll
monitor soft_reset_halt
#set fuction breakpoints
#break main
#No symbol table is loaded. Use the "file" command.
#how to load symbol table ???
#load /home/yu/e-work/u-boot-2008.10/u-boot
#continue to run the program
////////////////////////////////////////////////////
然后在openocd.cfg所在的目录执行openocd即可启动gdbserver。
然后在工作目录执行source source 建立path,然后执行arm-linux-gnueabi-insight -x
insight.gdb /home/yu/e-work/u-boot-2008.10/u-boot
即可启动insight,再dowload即可调试了。可以在insight的cosole窗口通过monitor
step等执行openocd的命令,monitor
help看看都可以执行那些openocd的指令,help看看可以执行那些gdb的指令。
现在有一个问题是,我编译的insight的tcp端口输入框,watch窗口输入框,无法输入,怀疑是编译器或tcl库的bug。
安装预编译的gnuarm-3.4,其自带的insight-6.1情况依旧,故应该是库的缘故!
也可以使用ddd来调试!
ddd只是各种gdb的一个x-window前端, ddd --debugger arm-linux-gdb -x
insight.gdb
/home/yu/e-work/u-boot-2008.10/u-boot可启动arm的gdb,所以不用交叉编译。
使用新立德安装即可!!
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 linux target 的文章

 

随机推荐