|
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统 驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe |
这里立一个擂台,为你解答ADS的问题. |
作者:jekete 栏目:ARM技术 |
本人为大家解答ADS的问题,有问题可以提. ?????????????????????????????????? |
2楼: | >>参与讨论 |
作者: bairg521 于 2006/10/25 13:33:00 发布:
太好了,好人啊,帮我解答一个问题吧,感激不尽 我在option.s定义了:_ISR_STARTADDRESS EQU 0xc7fff00 在44b0x.h中定义了: #define pISR_EINT0 (*(unsigned *)(_ISR_STARTADDRESS+0x84)) 程序中用到:pISR_EINT0=(unsigned)Eint0lsr; Eint0lsr()是我的中断服务程序,变异时报错 Error:C2456E:undeclared NAME,iventing 'extern int _ISR_STARTADDRESS' 而且只要用了pISR_EINT0一类的变量都会出现这个错误 能帮我解释一下这是什么错误吗?感激不尽啊!! |
3楼: | >>参与讨论 |
作者: weilan920 于 2006/10/27 12:43:00 发布:
求助,ADS编程问题 刚开始学习ADS,不知道为什么我敲进去的程序编译的时候总是出现:“UNKNOWN opcode”错误提示,请问是什么原因? |
4楼: | >>参与讨论 |
作者: jekete 于 2006/11/1 16:51:00 发布:
关于“UNKNOWN opcode”错误 请你付上你的代码,有可能是代码或环境错误。 |
5楼: | >>参与讨论 |
作者: centimetre 于 2006/11/2 7:29:00 发布:
ee 1,c头文件里面不能识别汇编里面的宏定义,需要在c头文件里面再定义一边 2,汇编指令有错,或者格式错误,例如汇编指令前面没有空格 |
6楼: | >>参与讨论 |
作者: ketp 于 2006/11/2 8:56:00 发布:
在进入main之前编译器自动生成什么? 好象是自动生成了RW数据搬运代码,但我看到的好多启动代码都自己搬运RW数据? |
7楼: | >>参与讨论 |
作者: centimetre 于 2006/11/2 9:39:00 发布:
自己搬或者系统自动搬都可以 |
8楼: | >>参与讨论 |
作者: jackwu1780 于 2006/11/2 10:55:00 发布:
先谢谢楼主,再问个问题 在ADS里面,函数中的变量,包括全局的变量和局部的变量,是怎么样分配实际空间的呢? |
9楼: | >>参与讨论 |
作者: jekete 于 2006/11/2 14:45:00 发布:
关于变量 函数的变量(全局和局部)一般占用数据栈。因此注意,注意数据栈指针的设置。 |
10楼: | >>参与讨论 |
作者: 寻找资料 于 2006/11/2 15:39:00 发布:
在ADS1.2下,如何让它能编译ARM c++语言 请教各位个问题,在ADS1.2下,如何让它能编译ARM c++语言.我在设置语言栏处设置了ARM C++ compiler,也选了ISO STANDARD c++,但是查看预处理宏定义,没看见有__cplusplus的预定义.所以,有个模板,它死活不认识.又ARM手册上,说可以支持模板的.所以,请教如何配置,让ADS1.2编译C++ |
11楼: | >>参与讨论 |
作者: ketp 于 2006/11/2 15:44:00 发布:
Region$$Table ? Erro : L620E: Section Region$$Table cannot be assigned to a non-root region. Erro : L620E: Section Region$$Table cannot be assigned to a non-root region. ==================================================================== 请问以上警告是怎么回事,2个table是什么table。 我将anon$$obj.o (+RO)放在root region后不再警告,但不知道具体原因。 |
12楼: | >>参与讨论 |
作者: jekete 于 2006/11/2 17:02:00 发布:
答复“在ADS1.2下,如何让它能编译ARM c++” 估计是设置不对,应该在工程项目中加入你的C++文件。并使 这个工程项目为当前工程项目。 |
13楼: | >>参与讨论 |
作者: jekete 于 2006/11/2 17:08:00 发布:
答复“ketp” 关于“Region$$Table ” 可能是在scatter描述文件中,没有为某些文件指派地址。 |
14楼: | >>参与讨论 |
作者: ketp 于 2006/11/2 18:39:00 发布:
这是scatter。anon$$obj是编译器自动生成的 ROM_LOAD 0x80000000 { ROM_EXEC 0x80000000 { Startup.o (vectors, +First) anon$$obj.o (+RO);//没有这句就有以上erro。 } ROM_EXEC1 0x80019000 { main.o (+RO) * (+RO) } ERAM +0 { * (+RW,+ZI) } HEAP +0 UNINIT { Startup.o (Heap) } HEAP_BOTTOM 0x80080000 UNINIT { Startup.o (HeapTop) } IRAM 0x40000000;//内部ram放堆栈 { Startup.o (MyStacks) } STACKS_BOTTOM +0 UNINIT { Startup.o (StackBottom) } STACKS 0x40004000 UNINIT { Startup.o (Stacks) } } * - 本贴最后修改时间:2006-11-2 18:40:35 修改者:ketp |
15楼: | >>参与讨论 |
作者: liangjingxin 于 2006/11/2 20:26:00 发布:
请问一个很久还没解决的问题。 请问这句警告是什么意思,是因为什么产生的,如何解决?Warning:L6329W:D:\****\scat_b.scf(LINE 42, col 13) Pattern *(RW) ONLY matches removed unused sections. |
16楼: | >>参与讨论 |
作者: jekete 于 2006/11/3 9:14:00 发布:
答复“请问一个很久还没解决的问题” Warning:L6329W:D:\****\scat_b.scf(LINE 42, col 13) Pattern *(RW) ONLY matches removed unused sections. 只匹配了已经删除的没有用的段!这些段的属性是RW。 在ADS中EDIT/DEBUG SETTINGS/ARM LINKER/OPTIONS的设置面板中 有一些Remove unused sevtion设置不正确,如果程序不大,不删除这些没用 的段。 |
17楼: | >>参与讨论 |
作者: jekete 于 2006/11/3 9:21:00 发布:
答复“KETP” ROM_EXEC 0x80000000 { Startup.o (vectors, +First) anon$$obj.o (+RO);//没有这句就有以上erro 系统认为,除了 Startup.o以外,还应该把另外的R0指派到0X80000000以下,但你没有指定这些文件,所以出错。 不要希望系统自动生成理想的代码,在略复杂的(多于3个段)时,应该使用Scatter文件完成地址分配。 |
18楼: | >>参与讨论 |
作者: ketp 于 2006/11/3 10:26:00 发布:
谢谢。我的问题在以下网址有解答。 http://hi.baidu.com/fanzier/blog/item/1cdab338be0463c2d462252c.html anon$$obj.o是包含Region$$Table和Region$$Table的c库代码。 |
19楼: | >>参与讨论 |
作者: hqgboy 于 2006/11/3 11:20:00 发布:
在ADS中用C编程..ARM和THUMB混合编程时,中断部分如何编程? |
20楼: | >>参与讨论 |
作者: jekete 于 2006/11/3 12:37:00 发布:
中断 1,在THUMB状态下发生中断 ,进入中断后自动切换到ARM状态,从中断返回时 执行一条返回指令,自动返回到THUMB状态。 2,中断后自动进入ARM状态。 3,一般在中断中使用THUMB时,必须使用指令进行切换。 |
21楼: | >>参与讨论 |
作者: liangjingxin 于 2006/11/4 0:41:00 发布:
感谢jekete,问题解决了。 |
22楼: | >>参与讨论 |
作者: liangjingxin 于 2006/11/4 0:45:00 发布:
再问jekete一个问题。 为什么程序大就得删除没有用的段呢?不是每个段都用上了吗?这样做有什么意义有什么用呢? |
23楼: | >>参与讨论 |
作者: lml2525 于 2006/11/7 9:26:00 发布:
arm調試 我是用ads1.2 配合h-jtag 加wigger 來做的調試,現在出現個問題就是在SDRAM調試程序的時候有時候在那裡卡住,像等待中斷一下,就一直停在一條指令。有說是SDRAM要初始化,那我要怎麼做,望各位指教。謝謝! |
24楼: | >>参与讨论 |
作者: hqgboy 于 2006/11/7 9:33:00 发布:
谢谢...是不是C就没法混合编程了..只能用汇编. 因为我在设置混合编程后,用__IRQ.编译报错... |
25楼: | >>参与讨论 |
作者: jekete 于 2006/11/7 13:21:00 发布:
答复“liangjingxin” 没有用的段是没有使用的段,除了占用空间外没有其它用处,程序越大没有用的段可能越多。 |
26楼: | >>参与讨论 |
作者: jekete 于 2006/11/7 13:26:00 发布:
答复“hqgboy” C可以和ARM汇编、THUMB混合编程,可能设置不对。 |
27楼: | >>参与讨论 |
作者: jekete 于 2006/11/7 13:35:00 发布:
答复“lml2525” 我没有明白你什么问题,要吧问题表达清楚。 |
28楼: | >>参与讨论 |
作者: liyuanhua 于 2006/11/7 14:22:00 发布:
请问楼主 timer 中断 我的程序开了很多中断 timer 中断,串口中断,iic中断 等等,在程序全速执行的时候,所有的中断正常,程序工作没问题,但是如果我设置了一个断点,程序在断点处break后,再继续执行程序,timer就不会产生中断了,(在timer中断程序处设置断点,永远也运行不到断点处,程序中与timer有关的部分也不运行了),而其它的中断正常,不知道怎么回事,望答复,非常感谢!!! |
29楼: | >>参与讨论 |
作者: daikunjuan 于 2006/11/7 15:16:00 发布:
ADS编译问题 如何看ro,rw,heap 等各个段的大小 我编译出现的错误是:Entry point(0x80000000)lies outside the image 这个该怎么改啊 |
30楼: | >>参与讨论 |
作者: zhm2002 于 2006/11/7 21:22:00 发布:
程序定位问题 最近开始学习arm编程,编了一个小程序.用仿真器仿真运行可以. 硬件平台是WINBOND的W90N740,软件用ads 程序主要有两个,一个初始化文件init.s,一个主程序main.c 编译后发现init.s的汇编程序地址位置在main.c后面.axd load image后pc指针是指在init.s位置的,所以程序运行也正常. 我现在想要编一个能脱机运行的程序,就是bootload,初始化和下载程序想放在init.s文件中,但是如果编译后init.s地址在main.c程序后的话,脱机应该肯定不行.所以求助:如何使init.s编译后地址位于0x0处.(目前仿真是RO=0x8000) (用entery point没用,好像ads默认main.c所在的程序就是首地址似的) 此外还想再问一个问题.若脱机运行的话,单板上电后,W90N740的程序空间会自动将btcs上挂的FLASH作为0x0吗? |
31楼: | >>参与讨论 |
作者: lml2525 于 2006/11/8 10:14:00 发布:
調試 在载入.axf文件之前要初始化寄存器。 這個初始化寄存器到底怎麼做? |
32楼: | >>参与讨论 |
作者: wangkj 于 2006/11/8 10:58:00 发布:
这么好的帖子不加精,斑竹可以辞职了。 |
33楼: | >>参与讨论 |
作者: jekete 于 2006/11/8 11:16:00 发布:
答复“lml2525” 在加载“axf文件之前要初始化寄存器”,为什么要初始化积存器?哪里提到过要初始化积存器? |
34楼: | >>参与讨论 |
作者: jekete 于 2006/11/8 11:21:00 发布:
答复“zhm2002” 程序定位,使用scatter是非常必要的,请使用scatter描述文件。但W90N740我不熟悉。 |
35楼: | >>参与讨论 |
作者: jekete 于 2006/11/8 11:26:00 发布:
答复“liyuanhua” 你可以在断点处检查“timer 中断”的状态,可能已经中断了?可能现在的断点影响了“timer 中断”? 我的程序开了很多中断 timer 中断,串口中断,iic中断 等等,在程序全速执行的时候,所有的中断正常,程序工作没问题,但是如果我设置了一个断点,程序在断点处break后,再继续执行程序 |
36楼: | >>参与讨论 |
作者: jekete 于 2006/11/8 11:31:00 发布:
答复“daikunjuan” 在列表文件种列举了各段的的长度(包括RO、RW、PI),你文件的入口不在影象文件的范围内,注意必须是入口点在影象文件的范围内。 ADS编译问题 如何看ro,rw,heap 等各个段的大小 我编译出现的错误是:Entry point(0x80000000)lies outside the image 这个该怎么改啊 |
37楼: | >>参与讨论 |
作者: hqgboy 于 2006/11/8 16:06:00 发布:
请问在哪儿设置呢?谢谢... |
38楼: | >>参与讨论 |
作者: jekete 于 2006/11/8 16:14:00 发布:
答“请问在哪儿设置呢?谢谢” 什么错误,说的详细一点。 |
39楼: | >>参与讨论 |
作者: jekete 于 2006/11/9 13:59:00 发布:
顶 顶 |
40楼: | >>参与讨论 |
作者: littlefool 于 2006/11/9 18:41:00 发布:
scatter load 您好; 一个FLASH中是否可以将image划分成不同的几段,利用 scatter load下载到不同的地址空间中?是否可以实现? 如可以实现?如何实现?多谢. |
41楼: | >>参与讨论 |
作者: 叶强 于 2006/11/9 21:43:00 发布:
111 请问下RO,RW,ZI的具体意思是什么啊?我才学ARM |
42楼: | >>参与讨论 |
作者: jekete 于 2006/11/10 8:39:00 发布:
答复“littlefool” ,一个FLASH当然可以划分成不同的几段,在scatter 中分为几个加载域就可以了。 一个FLASH中是否可以将image划分成不同的几段,利用 scatter load下载到不同的地址空间中?是否可以实现? 如可以实现?如何实现?多谢 |
43楼: | >>参与讨论 |
作者: littlefool 于 2006/11/10 12:10:00 发布:
多谢 多谢指导 |
44楼: | >>参与讨论 |
作者: jekete 于 2006/11/10 12:26:00 发布:
答复“littlefool” 可以吧一个FLASH划分成不同的几个区,利用 scatter 文件,把不同的文件加载到不同的加载域。 |
45楼: | >>参与讨论 |
作者: jekete 于 2006/11/10 12:29:00 发布:
答复“叶强” RO是“只读代码”,RW是“可读可写数据”,ZI是“初始化为0 的数据” |
46楼: | >>参与讨论 |
作者: zliang2004 于 2006/11/10 12:30:00 发布:
请教C语言实验发现的编译不通过问题 你好,我在ADS中调试C语言程序发现UNKNOWN opcode,下面有图,请指教,谢谢 |
47楼: | >>参与讨论 |
作者: jekete 于 2006/11/10 16:25:00 发布:
答复“zliang2004” 所有的句子都不能通过编译,所有的句子都对,请把test7.s改成test7. c就可以了。 以后不要粗心大意。 |
48楼: | >>参与讨论 |
作者: 叶强 于 2006/11/10 21:27:00 发布:
谢谢 谢谢!我还想问下那里可以下ADS1。2的中文数据手册,新手上路太多问题了 |
49楼: | >>参与讨论 |
作者: mikezhong 于 2006/11/12 9:36:00 发布:
我在编译时,出现如下的一个错误,找了很久不知道是什么问题! 下面框内是ADS编译后的信息,总是说在D:/myARM下找不到这个文件,我的D盘下根本没有myARM的文件夹,请问是什么原因,如何解决?谢谢 ///////////////////////////////////////////////////////////////////// Error : (Fatal) L6002U: Could not open file D:\myARM\44B0X_codes\FS44B0II_Board_Codes\FS44B0XII_V3_LCDTP_Test\FS44B0XII_V3_C57_Test_Data\Interrupt_Hex\ObjectCode\Slib.o. Not enough information to list the image sizes and/or totals. Finished: 1 information, 0 warning, 0 error and 1 fatal error messages. //////////////////////////////////////////////////////////////////// |
50楼: | >>参与讨论 |
作者: jekete 于 2006/11/13 13:30:00 发布:
答复“mikezhong” 仔细清理文件夹,你的文件夹层数太深,ADS搜索比较困难,请减少文件夹的深度,如果需要,可以为ADS指定搜索路径。 |
51楼: | >>参与讨论 |
作者: jekete 于 2006/11/13 13:37:00 发布:
答复叶强 我也步清楚哪里有中文ADS,推荐《ARM开发工具ADS原理与应用》 |
52楼: | >>参与讨论 |
作者: allenone 于 2006/11/13 15:06:00 发布:
为什么我做的lib工程生成的.a文件特别大,而且加不进工程? |
53楼: | >>参与讨论 |
作者: daikunjuan 于 2006/11/13 16:40:00 发布:
AXD 不能下载映象文件是什么问题 AXD 不能下载映象文件是什么问题,出现如下错误: RDI Warning 00254: Unimplemented RDI message 我自己做的板子,请问是哪里的原因,先谢谢各位了 |
54楼: | >>参与讨论 |
作者: jekete 于 2006/11/14 8:24:00 发布:
答复“allenone” 叙述的不清楚。如果你生成的文件扩展名是a,就必须在文件映射中声明这种文件类型。 |
55楼: | >>参与讨论 |
作者: jekete 于 2006/11/14 8:34:00 发布:
答复“daikunjuan” RDI——remote debug interface 问题是:调试器和目标板没有连接上。 AXD 不能下载映象文件是什么问题,出现如下错误: RDI Warning 00254: Unimplemented RDI message 我自己做的板子,请问是哪里的原因,先谢谢各位 |
56楼: | >>参与讨论 |
作者: daikunjuan 于 2006/11/14 11:17:00 发布:
调试器和目标板没有连接上 先谢谢楼主了 调试器和目标板没有连接上,要从哪里找原因呢,我的硬件电路测试是没有问题的 |
57楼: | >>参与讨论 |
作者: jekete 于 2006/11/14 12:26:00 发布:
答复“daikunjuan ” 这个很难说了,主要: 1,AXD设置是否正确? 2,连接线是否正确? 3,目标板JTAG口是否正确? 4,目标板的复位、电源、是否正确? |
58楼: | >>参与讨论 |
作者: daikunjuan 于 2006/11/14 14:44:00 发布:
JTAG问题解决了,但。。。。 现在可以识别JTAG了,但是下载映象文件,总是running在Startup.s文件,跳不到main函数,是什么原因呢 |
59楼: | >>参与讨论 |
作者: mikezhong 于 2006/11/15 0:10:00 发布:
调试时,不按程序执行,而是函数的顺序执行. To:jekete 你好,谢谢你的回复,我在同一个目标建立一个简单的工程程序没有此问题,如果是文件太深这个应该也会有这个问题啊. 另外,我在AXD调试时,按运行跳到MAIN中开始的第一个断点处,开始跟踪,发现只能单步,不能进入函数内部,同时如果进行死XUN环后,单步调试乱跳,,跳到其它函数中顺序执行.如果一个文件中有5个函数,它依次执行,不管程序调用返回,乱了,这是什么原因.? |
60楼: | >>参与讨论 |
作者: daikunjuan 于 2006/11/15 14:22:00 发布:
不能单步运行 请问,程序不能单步运行,一运行就跑到反汇编指令,是什么原因 |
61楼: | >>参与讨论 |
作者: jekete 于 2006/11/16 8:52:00 发布:
答复“daikunjuan” 遇到这种情况,可以关闭AXD,重新打开,重新加载。有可能是设置问题:右键单击程序,会弹出一个菜单,重新设置stopping mode 模式,不要设置在disassebly模式。 |
62楼: | >>参与讨论 |
作者: jekete 于 2006/11/16 9:26:00 发布:
答复“mikezhong” 程序当然按照函数(输入段)的顺序执行,因此你必须指定函数(输入段)的顺序,正确的方法是使用scatter描述文件分配地址。 按照程序执行是简单程序或处雪者的合理想象,对于复杂程序是不能实现的,例如一个循环程序或从后面跳到前面的程序? |
63楼: | >>参与讨论 |
作者: wangkj 于 2006/11/16 10:09:00 发布:
lz高人 |
64楼: | >>参与讨论 |
作者: jekete 于 2006/11/20 12:30:00 发布:
顶 顶 |
65楼: | >>参与讨论 |
作者: paullin 于 2006/11/22 11:06:00 发布:
关于ADS中编译指针数组出错. 谁知道在ADS1.2中如何定义指针数组呀? 我这样定义 uint8 * const TEST[]={"aa","bb"}; 结果编译后有如下错误 Error : C3028E: '=': implicit cast of pointer to non-equal pointer HardWare.c LINE 6 |
66楼: | >>参与讨论 |
作者: paullin 于 2006/11/22 11:08:00 发布:
指针数组编译出错问题 谁知道在ADS1.2中如何定义指针数组呀? 我这样定义 uint8 * const TEST[]={"aa","bb"}; 结果编译后有如下错误 Error : C3028E: '=': implicit cast of pointer to non-equal pointer HardWare.c LINE 6 |
67楼: | >>参与讨论 |
作者: magic2858 于 2006/11/22 11:41:00 发布:
MAKE 之后main不正常 在生成的make file中,我看到_main虽然属于RO段,但它前面的标识并不是Text,而是*!!!,请问是为什么? |
68楼: | >>参与讨论 |
作者: jackwu1780 于 2006/11/22 14:53:00 发布:
问大哥一个变量的问题 请问大哥,对于程序变量的分配,我的理解是这样的,不知道是不是对的,请大哥指点一二。 基于MCU,在程序编译的时候,编译程序会把芯片的RAM空间分成两个区,一个是系统堆栈区,用于存放程序中的局部变量;一个用来存放程序中的全局变量。在程序中的全局变量,分配在第二个RAM区域中。程序中的全局变量在编译的时候,都有固定的RAM地址,在程序运行的时候,直接访问就可以了;而局部变量分配的是一个相对于堆栈顶指针的偏移地址,在函数被执行时,系统把调用这个函数的程序现场存入堆栈中,运行的这个函数的局部变量就会使用偏移地址+堆栈栈顶地址;在函数返回以后,堆栈就会弹出,这样局部变量的空间就可以被重新利用了,是不是这样? 如果我理解不对,请问大哥在什么书可以找到相应答案,谢谢 |
69楼: | >>参与讨论 |
作者: thymomn 于 2006/11/22 16:46:00 发布:
问题请教 大家好!本人最近在弄JTAG调试,目标板是ARM7TDMI的核,平台是ADS1.2+MULTI ICE 2.2.6。现在问题是,在调试MULTI ICE自带的实例代码时可以调试,但调试我们自己的代码时(代码有28M)总是在loading image时失败,MULTI ICE的BUSY 指示等狂闪一段时间后熄灭,然后AXD弹出 “000436,硬件接口超时”的错误,我看了很多网上说明,不知道和系统起来后的RO,RW,ZI的区域有关,请有经验的高人指点指点,谢谢! |
70楼: | >>参与讨论 |
作者: magic2858 于 2006/11/22 16:49:00 发布:
问个ADS中__main跳转的问题 jekete 您好,有个问题困扰好多天,请帮忙看看: 在ARM初始化完成后,进行向主函数跳转的过程中。我使用ADS提供的库函数__main来跳转,它可以实现代码的拷贝,ZI段的初始化,然后_main通过调用_rt_entry完成stach,heap的初始化。这种跳转在仿真器上仿真,系统工作正常(RO_base=0x30100000,RW_base=0x32000000)。程序通过_main跳转到主函数然后正常执行程序。 但将代码加载域重新分配后(RO_base=0x0,RW_base=0x30000000)生成.bin文件,烧写到NorFlash上,重新上电后系统无法进入主函数。我们通过在代码中加亮灯程序的方法进行定位,程序出错的地方如下: __value_in_regs struct __initial_stackheap __user_initial_stackheap(unsigned R0, unsigned SP, unsigned R2, unsigned SL) { struct __initial_stackheap config; config.heap_base =0x33200000; //(unsigned int) &Image$$ER_RW$$Limit; config.stack_base =SP;//0x33ff5800; //0x33f00000;// ledon(); //亮灯程序 return config; //返回函数 } main() { …… } 程序在进入堆栈初始化程序中,执行到“亮灯程序”之后跑飞的,但是没有进入主函数main()。 如果用ldr pc, =main进行跳转,程序可以进入主函数,但是由于没有对堆栈以及用到的C库函数进行初始化,所以主函数里面的程序无法正常工作。 目前的问题是:一定要实现对堆栈的初始化,并给主函数返回堆栈地址。初始化C库函数。只有这样才能保证后面的函数在用到C库函数的时候执行正确。 请问使用__main跳转,在硬件仿真中都可以通过,下载到FLASH中就跑飞的原因是什么?该如何解决? |
71楼: | >>参与讨论 |
作者: thymomn 于 2006/11/22 16:54:00 发布:
问个JTAG的基础问题 jekete 您好! 请问个基础问题:ADS 调试LOAD IMAGE究竟有什么用?调试时是调试目标板上FLASH的程序还是LOAD的IMAGE? |
72楼: | >>参与讨论 |
作者: jekete 于 2006/11/23 8:34:00 发布:
答复“thymomn” 自己做一个短小的程序,先实验一下。 |
73楼: | >>参与讨论 |
作者: jekete 于 2006/11/23 8:45:00 发布:
答复“thymomn” 要看你把目标文件加载到哪里,主要是分析目标文件的加载地址和执行地址。 jekete 您好! 请问个基础问题:ADS 调试LOAD IMAGE究竟有什么用?调试时是调试目标板上FLASH的程序还是LOAD的IMAGE? |
74楼: | >>参与讨论 |
作者: thymomn 于 2006/11/23 9:13:00 发布:
答复jekete jekete 您好! 答复一:要看你把目标文件加载到哪里,主要是分析目标文件的加载地址和执行地址。 以下是我的SCATTER文件,SCATTER空间是按照SDRAM来进行分配的,我实在不懂load image和调试FLASH上的程序有什么关系?还是我们调试的根本就不是FLASH上的程序而是调试load的axf文件?请指点,谢谢! 答复二: 自己做一个短小的程序,先实验一下。 我试了MULTI ICE自带的dhry例子,可以调试,能明显看到ICE的工作状态在变化。 ROM_LOAD 0x0 0xe00000 { ;// Total EXEC AREA size is 0xd00000. ;// Segment EXEC AREA to several parts to avoid relocation VALUE out of range. ROM_EXEC1 +0 0x400000 { init.o (Init, +First) * (+RO) } RAM_RW 0x00d00000 0x6F0000 { * (+RW) * (+ZI) } SYS_STACK 0x013F0000 0x10000 { mem_cfg.o (SYS_STACK_AREA) } RAM_DCAM 0x01400000 0x5d4d00 { mem_cfg.o (YUVExtBuf) } } |
75楼: | >>参与讨论 |
作者: jekete 于 2006/11/23 9:18:00 发布:
答复“magic2858” 1,是否可以使用仿真器调试? 2,改动RO_base=0x30100000之后,是否改动image entry point? 3,从00到堆栈33200000已经超过了32M的距离,对于有些用法可能存在困难, 比如跳转语句可能有问题。 4,其它不详。 |
76楼: | >>参与讨论 |
作者: jekete 于 2006/11/23 11:20:00 发布:
答复“thymomn” 概念是混乱的,你所调试的,是你“load image”的目标文件,如果这个文件加载到“FLASH”上,你所调试的就是“FLASH”上目标代码,如果你加载到SDRAM上,你所调试的就是SDRAM上的代码。 先弄清楚基本概念,你的SCATTER文件有明显的错误,第一段加载到ROM_EXEC1 +0 0x400000,结束在E00000+400000=1200000,第二段怎么加载到0x00d00000? 我实在不懂load image和调试FLASH上的程序有什么关系?还是我们调试的根本就不是FLASH上的程序而是调试load的axf文件?请指点,谢谢! |
77楼: | >>参与讨论 |
作者: jekete 于 2006/11/23 11:27:00 发布:
答复“jackwu1780‘ 说的基本正确。 请问大哥,对于程序变量的分配,我的理解是这样的,不知道是不是对的,请大哥指点一二。 基于MCU,在程序编译的时候,编译程序会把芯片的RAM空间分成两个区,一个是系统堆栈区,用于存放程序中的局部变量;一个用来存放程序中的全局变量。在程序中的全局变量,分配在第二个RAM区域中。程序中的全局变量在编译的时候,都有固定的RAM地址,在程序运行的时候,直接访问就可以了;而局部变量分配的是一个相对于堆栈顶指针的偏移地址,在函数被执行时,系统把调用这个函数的程序现场存入堆栈中,运行的这个函数的局部变量就会使用偏移地址+堆栈栈顶地址;在函数返回以后,堆栈就会弹出,这样局部变量的空间就可以被重新利用了,是不是这样? |
78楼: | >>参与讨论 |
作者: jekete 于 2006/11/23 11:30:00 发布:
答复“thymomn” 以上看错了,你的SCATTER没有错误。 |
79楼: | >>参与讨论 |
作者: thymomn 于 2006/11/23 12:30:00 发布:
谢谢jekete jekete,非常感谢你的详细解答,但我怎么知道在load image时,是加载到SDRAM还是FLASH呢?还有如果*.axf文件大于SDRAM的size,那不是不能在SDRAM里调试?问的罗索点,请您能指点,谢谢! |
80楼: | >>参与讨论 |
作者: jekete 于 2006/11/23 13:04:00 发布:
答复“thymomn 你还是没有明白!你把文件加载到OOOO地址,你的系统中,0000地址是什么存储器?如果”*.axf文件大于SDRAM的size“,那么,连正确加载都不能实现,还能够调试吗? 非常感谢你的详细解答,但我怎么知道在load image时,是加载到SDRAM还是FLASH呢?还有如果*.axf文件大于SDRAM的size,那不是不能在SDRAM里调试?问的罗索点,请您能指点,谢谢! |
81楼: | >>参与讨论 |
作者: thymomn 于 2006/11/23 14:52:00 发布:
谢谢jekete 谢谢jekete,知道您的意思,非常感谢! |
82楼: | >>参与讨论 |
作者: jekete 于 2006/11/23 17:15:00 发布:
答疑!答疑! 欢迎光临本楼主的另一个答疑点!!!!!!!!!!!!!! http://www.mcu51.net/bbs/read.php?tid-775.html 欢迎光临本楼主的另一个答疑点!!!!!!!!!!!!!! http://www.mcu51.net/bbs/read.php?tid-775.html 欢迎光临本楼主的另一个答疑点!!!!!!!!!!!!!! http://www.mcu51.net/bbs/read.php?tid-775.html |
83楼: | >>参与讨论 |
作者: magic2858 于 2006/11/23 20:40:00 发布:
请问jekete 谢谢您的回复,根据您上次的回复 1,是否可以使用仿真器调试? 2,改动RO_base=0x30100000之后,是否改动image entry point? 3,从00到堆栈33200000已经超过了32M的距离,对于有些用法可能存在困难, 比如跳转语句可能有问题。 4,其它不详。 1:程序在仿真器上工作正常 2:改RO_base=0x30100000为RO_base=0x0之后,image entry point自动为0X0 3:这个问题对于使用B __main进行的跳转也有影响吗?程序是通过__main进行堆栈初始化以及库函数初始化后才跳转到主函数的 程序下载如FLASH中工作不正常的原因我怀疑是函数重定向的问题,您有什么见解呢? |
84楼: | >>参与讨论 |
作者: Sea_Heart 于 2006/11/23 23:20:00 发布:
也问几个问题,关于axd 1.单步调试时,有时候寄存器的值和全速运行时的不一样.这是怎么回事,例如,我调nand FLASH,去检测id时,数据结果本来应该是7ce6a5c0,但单步调试时可能顺序会乱,比如变成e6a5c07c. 2.要重新从代码起始点开始调试,只能reload image来做吗?这样是不是又重新下载了一次代码到SDRAM或FLASH,它是否可以不用重新下载,直接回到代码头部运行? |
85楼: | >>参与讨论 |
作者: jekete 于 2006/11/24 8:26:00 发布:
答复magic2858 终于明白你把程序下载到FLASH中去了,看来FLASH是内部FLASH。 可能的问题是:仿真器是否有写入FLASH的能力?是否支持FLASH写入? |
86楼: | >>参与讨论 |
作者: jekete 于 2006/11/24 8:41:00 发布:
答复Sea_Heart 1,这个问题不好解答,但是可能不会影响调试。使用JTAG调试,因为是边界扫描和串行传送数据,不稳定的仿真器可能有错误数据。 2,只能reload image来做,是又重新下载了一次代码到SDRAM或FLASH。有的工具有复位功能。 1.单步调试时,有时候寄存器的值和全速运行时的不一样.这是怎么回事,例如,我调nand FLASH,去检测id时,数据结果本来应该是7ce6a5c0,但单步调试时可能顺序会乱,比如变成e6a5c07c. 2.要重新从代码起始点开始调试,只能reload image来做吗?这样是不是又重新下载了一次代码到SDRAM或FLASH,它是否可以不用重新下载,直接回到代码头部运行? |
87楼: | >>参与讨论 |
作者: magic2858 于 2006/11/24 10:22:00 发布:
magic2858答复jekete 谢谢jekete。我是在ADS中生成二进制文件后,用sjf2410专门的烧写工具写到板子上的norflash中去的。 我的目的是想让程序脱离PC机和仿真环境工作。 在仿真环境下设计好的项目,烧写到板子上的norflash中去就工作不正常。 在代码搬运和跳转都没有问题的情况下,您看这种情况与函数重定向有关吗? |
88楼: | >>参与讨论 |
作者: jekete 于 2006/11/24 11:34:00 发布:
答复“magic2858 如果使用仿真器和脱离仿真器所使用的地址相同,不存在重定位问题。如果不同可能有这个问题。 仔细检查最小系统是否存在问题。 |
89楼: | >>参与讨论 |
作者: magic2858 于 2006/11/24 13:15:00 发布:
答复jekete 感谢! 仿真器是在SDRAM中运行,RO_base=0x30100000,RW_base=0x32000000 脱离仿真器后在实际电路中运行,将代码下载到FLASH中。此时的RO_base=0x0,RW_base=0x32000000。两种情况唯一的不同点就在这里。 我使用__use_no_semihosting_swi选项,查出还有3个函数处于semihosting状态。现正想办法对其重定向,关键是不知道这些函数的结构,您知道怎么确定吗? |
90楼: | >>参与讨论 |
作者: jekete 于 2006/12/5 8:28:00 发布:
顶 自治州 |
91楼: | >>参与讨论 |
作者: 祈祷之龙 于 2006/12/11 15:48:00 发布:
请教AXD下的调试怎么不能进step in 就是step in 的效果是和step一样的,进不了函数.以前不是这样的.而且程序也没按照预先的走,请教怎么回事? |
92楼: | >>参与讨论 |
作者: qljqlj 于 2006/12/11 16:38:00 发布:
还是不能单步调试的问题 刚开始下载进去时,出现"NO disassembly could be read at the requested address."不能调试,一按"GO ",就出现上面的的对话框后,来重新乱试了,不知道,怎么可以按"GO ",就可以跑了,但是还是不能单步调试,并且停止后,还是出现上面的 对话框,请问,怎么回事 |
93楼: | >>参与讨论 |
作者: bl20020825 于 2006/12/11 17:43:00 发布:
问一下 我对ADS中的那个只读段位置无关(ropi)、读写段的位置无关(rwpi)等等未理解,位置无关到底是啥子意思哦?望指点!谢谢 |
94楼: | >>参与讨论 |
作者: anyusb 于 2006/12/12 18:56:00 发布:
呵呵. |
95楼: | >>参与讨论 |
作者: uisffer 于 2006/12/13 8:48:00 发布:
关于scatter文件的问题 scatter文件 CODE: ROM_LOAD 0x7F000000 { ROM +0 { init.o (Init, +First) anon$$obj.o __main.o(!!!) ; __main.o(+RO) ; copy code ; *(Region$$Table) ; RO/RW addresses to copy ; *(ZISection$$Table) ; ZI addresses to copy sh.o dhcp.o ; inflate.o ; infblock.o ; infcodes.o ; inftrees.o uprintf.o * (+RO) } RAM 0x0 { vectors.o(Vect, +First) flash.o bib.o image.o TftpServer.o NetKernel.o PacketDriver.o xmodem.o * (+RW, +ZI) } } [Copy to clipboard] 编译警告 Warning : L6314W: .\Src\scat_c.scf(LINE 39, col 9) No section matches pattern dhcp.*o(RO). scat_c.scf LINE 39 Warning : L6314W: .\Src\scat_c.scf(LINE 50, col 3) No section matches pattern TftpServer.*o(RO). scat_c.scf LINE 50 Warning : L6314W: .\Src\scat_c.scf(LINE 51, col 3) No section matches pattern NetKernel.*o(RO). scat_c.scf LINE 51 Warning : L6314W: .\Src\scat_c.scf(LINE 52, col 9) No section matches pattern PacketDriver.*o(RO). scat_c.scf LINE 52 出现警告的几个目标文件是子工程里的,编译父工程时子工程的这些文件已全部编译,为什么找不到匹配的section?父工程还有其它子工程,不存在这个问题,如目标文件flash.o,bib.o,image.o。 请问出现警告的原因是什么? |
96楼: | >>参与讨论 |
作者: uisffer 于 2006/12/13 8:50:00 发布:
专家不在? 另外在http://www.mcu51.net/bbs/read.php?tid-775.html发的帖子 专家不在啊? 是不是专家比较忙? |
97楼: | >>参与讨论 |
作者: jekete 于 2006/12/13 10:43:00 发布:
答复" uisffer " 关于子工程:可能的问题是: 1, 子工程的属性是否设置正确? 2,子工程是否被使用过?如果没有使用使用过,可能已被删除? 3,子工程必须是一个完整的段? |
98楼: | >>参与讨论 |
作者: jekete 于 2006/12/13 10:45:00 发布:
答复bl20020825 位置无关就是编译器可以安排任意的地址. |
99楼: | >>参与讨论 |
作者: jekete 于 2006/12/13 10:46:00 发布:
答复qljqlj 你的代码没有写入到所希望的存储器中去! |
100楼: | >>参与讨论 |
作者: jekete 于 2006/12/13 10:50:00 发布:
答复祈祷之龙 如下: 1,打开程序 2,右键单击,弹出一个级连菜单, 3,单击"stpping mode",打开一个子菜单 3,选择合适的调试方式. |
101楼: | >>参与讨论 |
作者: jekete 于 2006/12/13 10:53:00 发布:
楼主告示 对ADS的有关问题,请阅读 <ARM开发工具ADS原理与应用>这本书 |
102楼: | >>参与讨论 |
作者: wangkj 于 2006/12/13 12:41:00 发布:
这本书有没有电子版的或者哪里有卖的 |
103楼: | >>参与讨论 |
作者: js_wawayu 于 2006/12/13 16:09:00 发布:
anon$$obj.o (+RO) 这个文件里含有entry point所以它的load address必须和execute address一致,这个可以看看ads的帮助文件 |
104楼: | >>参与讨论 |
作者: js_wawayu 于 2006/12/13 16:20:00 发布:
在进入main之前编译器自动生成什么? main函数是自己定义的,编译器还有一个__main入口,这里面进行代码搬移以及标准库的初始化工作,最后跳转到main,当然也可以自己写代码完成代码的搬移,然后直接跳转到main,不走__main |
105楼: | >>参与讨论 |
作者: treeslu 于 2006/12/14 10:22:00 发布:
2410 进一次任务后就跑飞的问题 正像上次那位ZLG-ARM 所讲,将semiHosting 去掉就好了,但当时俺不知道所谓的semihosting 在那里,是啥,病急乱投医,被我撞上了,去年调EasyARM时,是没有做这个动作的;不知当时是否默认取消semihosting, 查了一下资料,当需要通过嵌入式调试工具调用标准的C库函数时,需要semihosting来辅助完成。 问题: 1,为什么不取消"semihosting"会造成进一次Uart0Task后就跑飞了,而且停不下来? 2,为什么每次了解到AxD都需要/Configure Processor/中Clear All "Vector Catche" 和取消"semihosting",而不能操作一次后,保存记录? 附加问题: 3,从ADS编译好后,连接到AxD时,会出现一警告对话框“The session file'C:\Documents and Settings\...\default-1-2-0-0.ses'could not be loaded。” 然后“OK”,“Configure Target”再连一次就好了? |
106楼: | >>参与讨论 |
作者: hewn 于 2006/12/14 11:03:00 发布:
问个关于JTAG的问题 我的ARM开发板通过JTAG连接到笔记本电脑时,AXD总是提示DBE Warning 00041:An unspecified Debug Toolbox Call Failed.设置都没问题,我在办公室的台式机上试就没问题。更改并口的工作模式也不行,请问如何解决这个问题。谢谢! |
107楼: | >>参与讨论 |
作者: treeslu 于 2006/12/14 11:08:00 发布:
请帮忙解答,问题解决不知道为啥 俺最近ADS中调UCOS,遇到下面三个问题 查了一下资料,当需要通过嵌入式调试工具调用标准的C库函数时,需要semihosting来辅助完成。 1,为什么不取消"semihosting"会造成进一次Uart0Task后就跑飞了,而且停不下来? 2,为什么每次连接到AxD都需要/Configure Processor/中Clear All "Vector Catche" 和取消"semihosting",而不能操作一次后,保存记录? 3,从ADS编译好后,连接到AxD时,会出现一警告对话框“The session file'C:\Documents and Settings\...\default-1-2-0-0.ses'could not be loaded。” 然后“OK”,“Configure Target”再连一次就好了? |
108楼: | >>参与讨论 |
作者: ge_fjk 于 2006/12/14 14:30:00 发布:
[求助]2440不能进入调试模式 自己做了一块S3C2440的板子,使用AXD调试始终显示无法进入调试模式(原开发板上是好的)。提示:RDI Warning 00201: Cannot open target: the target is not responding. 使用JTAG的并口debug代理程序,能够发现ARM核。 使用SJF2440对FLASH的操作都正常,(SJF2440好像只是单方面烧FLASH,不进行验证,所以不能表明系统正常了)。 看了muti-ice的手册,说是能够用autoconfig发现ARM核,但是无法进入调试模式, 通常是JTAG信号质量问题,但是示波器测出来波形很好,同时我把JTAG的速率 使用20KHz,还是不行。请问可能是什么问题呢? |
109楼: | >>参与讨论 |
作者: 农民讲习所 于 2006/12/14 14:41:00 发布:
楼上的烧个BOOTLOADER就可以调试了 原因就是上电飞走了。程序要跳到SDRAM中才行,在4KBOOTRAM中是不行的。 |
110楼: | >>参与讨论 |
作者: lw2008 于 2006/12/14 19:53:00 发布:
请LZ帮忙解答 我建模板生成将包含*.c生成obj1112.a库,现将obj1112.a添加进项目编译,用JTAGInFLASH方式下载调试时,还是可以进入原*.c的函数。obj1112.a不编译成汇编了吗? |
111楼: | >>参与讨论 |
作者: lchengjun 于 2006/12/14 21:12:00 发布:
我的分散加载文件的问题 请教搂主: 我想把一个结构体的内容定位到外部ram中 在一个头文件“ASICRAM.h"中只定义一个结构体 ****ASICRAM.h***** typedef struct { ...... }ASICRAM; 然后在一个文件“DPRAMDEF.c"中只定义一个结构体变量 #include "ASICRAM.h" ASICRAM spc; 在主程序文件里 extern ASICRAM spc; 然后分散加载文件这样设置 ROM_LOAD 0x0 { ROM_EXEC 0x00000000 { Startup.o (vectors, +First) * (+RO) } IRAM 0x40000000 { Startup.o (MyStacks) * (+RW,+ZI) } STACKS_BOTTOM +0 UNINIT { Startup.o (StackBottom) } STACKS 0x40003c00 UNINIT { Startup.o (Stacks) } HEAP +0 UNINIT { Startup.o (Heap) } HEAP_BOTTOM 0x40004000 UNINIT { Startup.o (HeapTop) } ERAM 0x80000000 0x5ff { spc.o (+ZW) } } 程序调试发现结构体没有和外部ram联系起来,外部ram没有存放结构体中的变量 为什么呢?请帮我分析一下,十分感谢 |
112楼: | >>参与讨论 |
作者: jekete 于 2007/1/4 11:54:00 发布:
ding ding |
113楼: | >>参与讨论 |
作者: zhaoem82 于 2007/1/4 13:46:00 发布:
用axd怎样能在FLASH中调试? 是否是直接将在ads中ro-base修改为FLASH的起始地址就行? |
114楼: | >>参与讨论 |
作者: coke 于 2007/1/4 18:16:00 发布:
如何搞定ADS结构体嵌套对齐问题? #pragma pack(paush,1) typedef struct { U8 bLength; U8 bDescriptorType; #pragma pack(paush,1 struct { U8 address:4; U8 reserved:3; U8 direction:1; } bEndpointAddress; #pragma pack(pop) U8 bmAttributes; U16 wMaxPacketSize; U8 bInterval; } USB_endpoint_desc_t; #pragma pack(pop) 以上结构体的定义加了packed关键词了. 但是 TX_BUFF[3]=sizeof(USB_endpoint_desc_t); 结果还是8. 应该是7才是啊. 如何搞定他? |
115楼: | >>参与讨论 |
作者: jekete 于 2007/1/18 15:39:00 发布:
ding |
116楼: | >>参与讨论 |
作者: qljqlj 于 2007/1/29 13:13:00 发布:
还是不能运行 61楼: 答复“daikunjuan” 遇到这种情况,可以关闭AXD,重新打开,重新加载。有可能是设置问题:右键单击程序,会弹出一个菜单,重新设置stopping mode 模式,不要设置在disassebly模式。 我也碰见这种问题了,不知道怎么办了.上面的回答,我试了,可是不行. 请问大家这个问题,我的板子原先是好好的,能设断点,也能单步运行,后来我也不知道怎么搞的,不能运行了,我试着运行以前好的程序,都不行,奇怪了,难道是扳子芯片坏了吗,谢谢. |
117楼: | >>参与讨论 |
作者: jekete 于 2007/1/30 10:13:00 发布:
楼主告示 大家提出的很多问题,已经超出了ADS内容,所以楼主无能为力,现在本人较忙,有关ADS问题,可以参考<ARM开发工具ADS原理与应用>(北航出版) |
118楼: | >>参与讨论 |
作者: jekete 于 2007/1/30 10:18:00 发布:
顶 顶 |
119楼: | >>参与讨论 |
作者: jekete 于 2007/2/12 14:51:00 发布:
顶 顶 |
120楼: | >>参与讨论 |
作者: jekete 于 2007/3/19 12:32:00 发布:
继续 继续工作,可否? |
121楼: | >>参与讨论 |
作者: aaronwong 于 2007/3/24 19:42:00 发布:
你好!请问ADS中汇编与C混合编程的问题 你好,非常感谢楼主在此帮助我们大家解答问题。 最近有个项目,需要使用PXA270的GPIO口做控制端口。在启动代码中初始化GPIO是一定的,另外在C应用程序中,还需要用GPIO做实时控制信号,因此在C语言中也要使用GPIO的控制寄存器来控制GPIO的状态和动作。 这样的话,启动代码中和C程序中都要对GPIO控制寄存器进行定义,如果分别用汇编语言和C头文件做两次寄存器定义,必然有重复之嫌。我现在只想在一个地方做一次定义,例如,在C语言的.h头文件中用#define定义寄存器名字和地址,然后在汇编的启动代码中引用这些符号。比较迷惑的地方是: 1.汇编语言中是不是使用INCLUDE **.h就能把C头文件包含进来呢?如果包含进来了,assembler能否认识C语言的#define? 2.关于宏。因为C语言中和汇编语言定义寄存器地址的方法不同: #ifdef __ASSEMBLY__ # define __REG(x) (x) #else # define __REG(x) (*(volatile unsigned LONG *)(x)) #endif 如果在C头文件中定义了这个宏,如何在汇编程序中引用这个宏?另外,如何在汇编程序中定义符号__ASSEMBLY__? 谢谢!! |
122楼: | >>参与讨论 |
作者: jekete 于 2007/4/28 12:30:00 发布:
ding 为什么不能置顶??? |
123楼: | >>参与讨论 |
作者: jekete 于 2007/4/28 12:32:00 发布:
为什么不能置顶? 为什么不能置顶??我还要继续答疑 |
124楼: | >>参与讨论 |
作者: FGD 于 2008/1/10 9:29:16 发布:
COUNT EQU 0x40003100 這個程序編譯通不過,總出現這種為題: |
125楼: | >>参与讨论 |
作者: FGD 于 2008/1/10 9:32:53 发布:
接上面 Error : A1163E: UNKNOWN opcode 1 00000000 COUNT EQU 0x40003100 Error : A1163E: UNKNOWN opcode 6 00000000 START Error : A1163E: UNKNOWN opcode 10 0000000c LOOP 3 Errors, 0 Warnings
|
126楼: | >>参与讨论 |
作者: liuliu 于 2008/3/13 11:12:44 发布:
调试时出现的错误 Error : (Fatal) L6002U: Could not open file D:\pos. 我的工程文件不是放在这个文件夹里,以前是从这个文件夹拷过来的,重新编译过还是有这个错误,请问怎么解决? |
127楼: | >>参与讨论 |
作者: lzliang 于 2008/11/5 9:58:13 发布:
定义全局变量 ,如果定义成unsigned int型就报以上警告 如果定义成unsigned char形时就不会警告 求解!!! |
128楼: | >>参与讨论 |
作者: boxing 于 2009/9/14 13:47:05 发布:
听说别人的axd 运行时 系统会在main处默认加个断点 可是我的却没有 每次都手动 相当郁闷 重装也还是没有 请问可否自己修改这个默认设置? 另外 在ads中编辑代码时 代码前面点击出现那个小深红的点 是代表加入断点吗 为什么进入到axd中就没有用了呢 |
129楼: | >>参与讨论 |
作者: lyh 于 2010/1/22 16:25:48 发布:
请问各位高手“Error : (Fatal) L6002U: Could not open file E:\ZH_SYSTEM\ARM Executable Image for UCOSII.”是什么意思
|
|
|
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入 |
Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号 |