找回密码
 注册
关于网站域名变更的通知
查看: 681|回复: 2
打印 上一主题 下一主题

MDK开发S3C2440环境搭建

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-1-30 13:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
MDK开发S3C2440环境搭建% u" Z8 h! \& h5 U7 @% ^0 H
* \4 S. E  j) V' O0 ~$ d2 @8 e

- i8 J7 `5 }; P& u' Q( I下面详细列出需要注意的设置细节:
- h" {8 b4 V, d! A+ x1、开发板的启动模式选择NAND FLASH启动,代码只能在SDRAM中执行而非NOR FLASH,因此注意地址设置0X30000000打后的数值$ v; e* R$ y  Y/ b* }6 q

. a! b& {4 K) I, D3 ~8 h; X/ d0 `" l0 v: x! ^7 u) U% B. ?/ o2 Q
2、JLINK仿真设置的这个选项去掉,不知为何勾选这选项点击仿真后代码自动运行
2 a; z. I7 b) J& e6 g
' E( t6 n$ y. f  d0 t% M. G/ P# h- ]7 q" e) x. X7 |
3、这个Upadae Target选项一定不能选!!!别问我为什么,我想静静
8 B' n- C9 j) E7 \( G: J6 H5 W- p' ? 6 B& {, L3 d" J9 u

+ w# t2 S! C8 b, b
9 L6 T. C" M/ b3 f: X& K! {4 y
    至此MDK搭建S3C2440开发裸奔代码的环境基本完毕,有种一路顺风半途失踪的感觉。。。点击仿真按钮进入仿真后,果不其然一切都不会那么顺利,程序跑飞了!当时一下子就蒙了,撸了几个小时都没发现哪步设置有问题,后来怀着失落的心情上了天嵌论坛搜索看看能否搜索现成的工程,不得不说天嵌论坛还是比较给力的,一搜就搜出了一份UCOS-II在MDK下开发TQ2440的工程,毕竟工程是对应开发板的,下载后编译仿真,一切正常!这时我不得不怀疑是不是自己的工程配置有问题,逐步对比了下也没发现有多大出入,然后就怀疑是启动文件的问题,打开别人的启动文件一看人家果然对启动文件做了修改。启动文件是用ARM汇编写的,看起来也很吃力,但目前处于两难的困境,只好硬着头皮把启动文件看明白了,立刻百度了人家对启动文件的详细注释,好东西不私藏:

7 b+ s- l9 {8 C9 G: o7 p3 m, N5 G" m- f+ [: V! u8 o$ {
& P( S; X% _" _3 E5 [3 a
下载:
  b4 S' x5 T1 B
游客,如果您要查看本帖隐藏内容请回复

, G8 D! s9 B- Q: Z$ D3 R% b. f- S; q+ o) Q# x/ L$ E
4 m- Y: M6 H4 H- z+ I- d
        把启动文件看完后总算对S3C2440的启动流程有一个大致了解,这时对比了人家的启动代码和MDK自带的启动代码,终于找出了问题所在了。原来MDK的启动代码只是做了看门狗初始化、时钟初始化、存储管理器初始化等,并没有没有把SRAM的4KB内容拷到SDRAM,因此程序跳到0x30000000后便跑飞了。把NAND启动的代码添加到启动文件后,按道理就应该能正常工作了,不过结果还是仿真时有问题。到这时我已经接近崩溃了,难道真的见鬼了?!明明一样的代码,一样的工程设置,拿到别人的工程就能正常跑,自己新建的工程就跑飞!这时上帝突然给了我灵感,因为我忽略了一个非常重要的文件:Ext_RAM.ini,立刻用UE的比较器比较了别人的Ext_RAM.ini和我自己的Ext_RAM.ini,发现倒数第三行有区别:& Z4 n1 s; e) t; E* K( Z
LOAD .\obj\test.axf INCREMENTAL         // download program# D, g3 h8 W5 Q$ M) M: c% i0 F! F
就是这个地方,axf文件的名称跟工程生成的axf名称没有对应上!其实这个地方在Pony279大神的教程里面有提及到,不过他在编译时遇到了错误所以及时改过来了,而我的MDK版本估计是比他的新太多了,编译时没报错,心中有一万匹草泥马在奔腾!把axf的名称改成与工程生成的axf文件名称一样后再次仿真,终于成功跑进main()函数了!
- h+ g: L" r9 s
3 c8 u# \' d+ K, I9 O# W) w    一个简单的开发环境没想到竟花了大半天时间去撸,在此把环境搭建的细节问题描述出来,以免大家走弯路。在此献上最后成功仿真的流水灯工程,工程里面的启动文件经过我的注释和修改,比起看MDK自带的那个启动文件条理相对清晰
8 Y$ N% `$ e% @2 K" M: X
- J: ~: Q5 @# n- ?

$ E0 t, P( Y4 w6 d0 M% W" n3 p  l下载:& Y6 _$ y7 U) E8 Y7 }& \/ F
游客,如果您要查看本帖隐藏内容请回复

, r/ D: R+ D  n
8 }) C/ r) v1 X, N
* U' w" R$ @# B5 i) `* K; F8 z
6 ?4 q) r  _* D+ [1 z
) @1 _3 s' ^- L2 W3 S0 P3 J

该用户从未签到

2#
发表于 2019-1-30 15:03 | 只看该作者
谢谢楼主分享

该用户从未签到

3#
发表于 2019-10-10 15:06 | 只看该作者
学习学习,谢谢了" e* S  ~% K+ X* }" B3 F
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-22 17:59 , Processed in 0.093750 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表