斑竹:我又来了,呵呵
不好意思,我是菜鸟一个,问题不少,所以又要来打扰斑竹你了,呵呵1.makefile文件中,$<和$@分别表示什么意思啊???
2.为什么要将bin文件转换化uue格式之文件?另外,通过串口下载uue格式文件,是到flash空间呢还是ram空间,根据实验结果应该是ram究竟吧?
3.实验八:
static char led_status;
请问静态全局数组放在哪个区中:RW、RO、ZI?静态局部变量又是放在哪个区?
4.实验八~实验十一, 在main.c文件中,都多了一个函数
void __rt_entry( void )
{
main();
}
为什么在前面七个实验都不用这个函数?这个函数有什么作用?可以不用这个函数吗?
5.七段数码管显示实验很不解的一个问题:
七段数码管是与数据总线的低八位连接在一起的,这里实验指导书上说是依靠CPU对特定地址的读写,
片选上7段数码管这个设备后,实现相应的点亮和熄灭。我一直不解的是,这个地址如何确定(程序中
好像是0x03fdc000)?是不是说向这个地址单元写入相应的值例如15时,相应的低八位数据总线就会输出
相应电平例如15的话就是11111111(d0~d8)???
是不是这样理解,由于是nECS3和nWE的与操作实现片选,所以对0x03fdc000 - 0x03fe0000之间
的任何一个地址单元写操作nECS3和nWE都为1,即选中数码管,所以七段数码管的地址可以是0x03fdc000 - 0x03fe0000
任何一个地址?但是实验指导书上说,这个地址必须4字节对齐,这又是为什么呢???
6.实验八、实验十、实验十三,出现了一个共同现象:烧写bin文件或者下载uue文件,都没有反应,不知道是什么问题?我怀疑是不是因为没有启动文件startup.s,但是下载uue文件执行,应该不用startup.s吧???
斑竹,有空的话就帮我解释一下喽,谢了先! 斑竹:
我刚才做实验了,将startup.s添加至lumit 4510B\learn lumit4510 step by step\step-13\Learn-lumit-Step-13.综合实验一\src文件平下后,修改makefile,重新编译生成uue文件和bin文件,烧写bin或者下载uue文件,还是没有反应,是什么问题啊?
请指教,谢谢! 李老师,帮帮忙喽,实在纳闷哪 刚才做实验十四,问题和上面一样,下载uue格式文件,播放不了。奇怪,做实验十二时,下载uue后运行很正常啊,为什么这几个实验都这样呢?
不解...... :cry: 李老师,真的很奇怪,我烧写的是step7中的代码,下载step15的uue文件后,按中断按钮,led并不亮。
另外,我若将step15生成的bin文件烧写到flash,也还是不行,这是什么原因呢。
实在困惑不解 Step 7 的 bootloader 只是一个简单的例子,不支持中断向量等,不是一个可以实用的 bootloader。 做完实验之后,下载网站上的 1.4.0 版本的 bootloader ,恢复到原来的版本。 哦,原来是这样啊。我再试一试.
谢谢!
不过为什么将bin文件烧写进去也不行呢,是不是要都还要改启动代码?
还有,像这种,下载后没反映,如果要调试检查出这种错误,应该用什么来调,wiggler+banyan+adw吗? 李老师:
不好意思,如果有空的话,能否麻烦你给我解释一下前面的五个问题
谢谢了。 1、这个是 makefile 的基础知识,还有很多这样的符号。 具体含义 google "makefile $< $@"或者 看看 skyeye 那本书上有很详细的解释。
2、uue 下载和 bin 的下载本质都一样,只是 bin 需要 xmodem 之类的协议,实现起来复杂一些。
3、静态全局数组如果有初始化值,放 RW 段。没有应该在 ZI 段。可以用 fromelf 命令看看。
4、可以参考看一下 __main 的具体流程,看看省略了哪些函数调用。
5、4 字节对齐 和 ARM 32 位处理器有关。数码管的显示和数据线上的值有关,地址线只是为了让那两个片选生效。可以看看 lumit4510 原理图里面相关的硬件连接。
:o 谢谢李老师
页:
[1]