OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 16753|回复: 25
打印 上一主题 下一主题

MDK开发S3C2440环境搭建

[复制链接]

27

主题

711

帖子

0

精华

版主

Rank: 7Rank: 7Rank: 7

积分
12656
金钱
12656
注册时间
2015-11-5
在线时间
2161 小时
跳转到指定楼层
楼主
发表于 2016-2-18 17:13:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 FreeRTOS 于 2016-2-18 17:20 编辑

    自从2013年买了ARM9开发板撸过一段时间后,已经接近一年没有碰过板子了,当时学习ARM9主要是为了学习Linux,最后发现自己玩了51后直接上ARM9是一个十分错误的选择,并且找工作时很多公司压根儿就不用ARM9,因此2014年时毅然放下了ARM9,买了原子的STM32开发板做过度,后来发现自己才真正的在嵌入式领“入门”了,趁着这几天还没上班,拿回ARM9开发板继续撸一把。
    我的ARM9开发板是TQ2440,天嵌公司的资料提供的开发环境是LinuxADS,之前都是看韦东山的视频在Linux下编译代码,但对于刚入门的我而言在Linux下做开发无疑会有很多问题无法理解。Linux系统下开发环境始终没有windows系统下的开发环境更“亲民”,因此后来我跟着天嵌的资料《裸奔三部曲》在ADS下跑裸机代码。前几天决定重拾ARM9时也是第一时间装了ADS,跑第一个LED程序时都很正常,只是用JLINK仿真的时候时不时出问题,尤其是ADS的编辑功能真不敢恭维,所以心里就想着能不能用我们比较熟悉的IAR或者MDK来搭建开发环境。百度一下发现原来MDKIAR早就支持ARM9的开发了,心里那个激动啊就像国足在临近90分钟时破蛋一样。心血来潮时什么也无法阻挡我勇往直前的决心,立刻下了一个S3C2440IAR下的工程,配置了下仿真参数后下载仿真,流水灯跑起来了,只是有个严重的问题就是用JLINK仿真无法设断点,并且只能在汇编窗口单步仿真,这不就相当于在猫咪面前挂着一条永远够不着的鱼么。后来百度了下也没找到解决的办法,只能先放一边了。既然IAR不行那就换MDK呗,对于MDK而言寻找芯片pack是一个很费劲的事,不过原子论坛大神多,下面链接提供了芯片包,值得注意的是这芯片包直接安装就可以了,我当时就傻逼了安装前把MDK给卸载了,最后才发现原来这芯片包不是MDK安装程序,只不过跟我们F0F1等芯片pack一样双击安装就好了。
http://www.openedv.com/thread-44974-1-1.html

    安装好芯片包之后,就开始着手新建工程了,对于我这种拿来主义的人而言总不会自己瞎搞,然后找到了Pony279大神一份比较好的资料。不得不说Pony279大神真不是盖的,上天入地无所不能,哈哈!下面附上他提供的那份资料
MDK开发TQ2440裸机程序入门教程.pdf (883.59 KB, 下载次数: 3632)

Pony279大神的资料做的十分详细,但我也鼓捣了大半天才弄好,下面详细列出需要注意的设置细节:

1、开发板的启动模式选择NAND FLASH启动,代码只能在SDRAM中执行而非NOR FLASH,因此注意地址设置0x30000000打后的数值


2、JLINK仿真设置的这个选项去掉,不知为何勾选这选项点击仿真后代码自动运行


3、这个Upadae Target选项一定不能选!!!别问我为什么,我想静静



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

        把启动文件看完后总算对S3C2440的启动流程有一个大致了解,这时对比了人家的启动代码和MDK自带的启动代码,终于找出了问题所在了。原来MDK的启动代码只是做了看门狗初始化、时钟初始化、存储管理器初始化等,并没有没有把SRAM的4KB内容拷到SDRAM,因此程序跳到0x30000000后便跑飞了。把NAND启动的代码添加到启动文件后,按道理就应该能正常工作了,不过结果还是仿真时有问题。到这时我已经接近崩溃了,难道真的见鬼了?!明明一样的代码,一样的工程设置,拿到别人的工程就能正常跑,自己新建的工程就跑飞!这时上帝突然给了我灵感,因为我忽略了一个非常重要的文件:Ext_RAM.ini,立刻用UE的比较器比较了别人的Ext_RAM.ini和我自己的Ext_RAM.ini,发现倒数第三行有区别:
LOAD .\obj\test.axf INCREMENTAL         // Download program
就是这个地方,axf文件的名称跟工程生成的axf名称没有对应上!其实这个地方在Pony279大神的教程里面有提及到,不过他在编译时遇到了错误所以及时改过来了,而我的MDK版本估计是比他的新太多了,编译时没报错,心中有一万匹草泥马在奔腾!把axf的名称改成与工程生成的axf文件名称一样后再次仿真,终于成功跑进main()函数了!

    一个简单的开发环境没想到竟花了大半天时间去撸,在此把环境搭建的细节问题描述出来,以免大家走弯路。在此献上最后成功仿真的流水灯工程,工程里面的启动文件经过我的注释和修改,比起看MDK自带的那个启动文件条理相对清晰
LED.rar (78.79 KB, 下载次数: 3105)

拿来长岛冰茶换我半晚安睡
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

14

主题

1592

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
2622
金钱
2622
注册时间
2014-7-17
在线时间
350 小时
2#
发表于 2016-2-18 17:32:50 | 只看该作者
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
3#
发表于 2016-2-18 20:02:17 | 只看该作者
谢谢分享
回复 支持 反对

使用道具 举报

1

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
180
金钱
180
注册时间
2014-11-4
在线时间
31 小时
4#
发表于 2016-3-2 08:57:39 | 只看该作者
多谢分享。。。
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2016-4-7
在线时间
2 小时
5#
发表于 2016-4-8 15:23:02 | 只看该作者
有没有遇到,“Connected emulator is Jlink clone”然后MDK闪退?
回复 支持 反对

使用道具 举报

27

主题

711

帖子

0

精华

版主

Rank: 7Rank: 7Rank: 7

积分
12656
金钱
12656
注册时间
2015-11-5
在线时间
2161 小时
6#
 楼主| 发表于 2016-4-8 16:58:23 | 只看该作者
zeroLu 发表于 2016-4-8 15:23
有没有遇到,“Connected emulator is Jlink clone”然后MDK闪退?

没有呢,不过我后来放弃了MDK了,因为做到NAND FLASH实验时死活读不正确,所以后来又换回ADS了
拿来长岛冰茶换我半晚安睡
回复 支持 反对

使用道具 举报

2

主题

46

帖子

0

精华

初级会员

Rank: 2

积分
140
金钱
140
注册时间
2014-8-31
在线时间
33 小时
7#
发表于 2016-7-9 11:19:24 | 只看该作者
这个好给力 ,mark了
回复 支持 反对

使用道具 举报

17

主题

54

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
310
金钱
310
注册时间
2016-7-1
在线时间
94 小时
8#
发表于 2016-7-14 16:22:32 | 只看该作者
楼主好人
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
8
金钱
8
注册时间
2016-9-29
在线时间
0 小时
9#
发表于 2016-9-29 22:27:42 | 只看该作者
楼主,请问三星的那些cpu的库文件怎么下载呢
回复 支持 反对

使用道具 举报

13

主题

75

帖子

0

精华

高级会员

Rank: 4

积分
659
金钱
659
注册时间
2016-6-23
在线时间
72 小时
10#
发表于 2016-11-2 11:43:56 | 只看该作者
看完楼主这样的好人,必须得表示一下:支持!
回复 支持 反对

使用道具 举报

2

主题

20

帖子

0

精华

高级会员

Rank: 4

积分
604
金钱
604
注册时间
2016-1-2
在线时间
81 小时
11#
发表于 2017-1-9 21:15:50 | 只看该作者
托楼主的福,我在楼主的工程基础上改了一点点,成功在JZ2440上仿真了
万分感谢
回复 支持 反对

使用道具 举报

aiker1260 该用户已被删除
12#
发表于 2017-1-17 16:54:23 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

1

主题

43

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
232
金钱
232
注册时间
2016-8-9
在线时间
29 小时
13#
发表于 2017-1-19 23:01:55 | 只看该作者
xichuangxue 发表于 2017-1-9 21:15
托楼主的福,我在楼主的工程基础上改了一点点,成功在JZ2440上仿真了
万分感谢

请问是怎样修改的?做了哪些修改???   为什么没修改的代码不能debug
回复 支持 反对

使用道具 举报

1

主题

43

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
232
金钱
232
注册时间
2016-8-9
在线时间
29 小时
14#
发表于 2017-1-19 23:03:57 | 只看该作者
xichuangxue 发表于 2017-1-9 21:15
托楼主的福,我在楼主的工程基础上改了一点点,成功在JZ2440上仿真了
万分感谢

请问做了怎样的修改,万分感谢
回复 支持 反对

使用道具 举报

4

主题

29

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
441
金钱
441
注册时间
2013-7-16
在线时间
71 小时
15#
发表于 2017-2-21 09:42:38 | 只看该作者
值得收藏 备用 不错的 很好的帖子
回复 支持 反对

使用道具 举报

2

主题

20

帖子

0

精华

高级会员

Rank: 4

积分
604
金钱
604
注册时间
2016-1-2
在线时间
81 小时
16#
发表于 2017-2-22 22:58:27 | 只看该作者
xtong533 发表于 2017-1-19 23:03
请问做了怎样的修改,万分感谢

LED_JZ2440.rar (85.36 KB, 下载次数: 743)

工程在这里,过了好久,我也忘了当时怎么改的了
回复 支持 反对

使用道具 举报

4

主题

15

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2016-10-8
在线时间
6 小时
17#
发表于 2017-4-4 09:12:58 | 只看该作者
Ext_RAM.ini,可以发一个给我吗
回复 支持 反对

使用道具 举报

1

主题

5

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2017-6-16
在线时间
4 小时
18#
发表于 2017-7-19 09:40:03 | 只看该作者
LINKMessi 发表于 2017-4-4 09:12
Ext_RAM.ini,可以发一个给我吗

层主找到Ext_RAM.ini文件了么,我软件里也没找到
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
2
金钱
2
注册时间
2017-7-19
在线时间
0 小时
19#
发表于 2017-7-19 22:43:06 | 只看该作者
这还简单,搭建一个开发环境 ,差不多就成功了一半了~~程序可以自己写,开发环境 能自己写出?开玩笑吧。
回复 支持 反对

使用道具 举报

17

主题

341

帖子

0

精华

高级会员

Rank: 4

积分
909
金钱
909
注册时间
2017-6-18
在线时间
175 小时
20#
发表于 2017-8-5 10:25:11 来自手机 | 只看该作者
热带雨林 发表于 2017-7-19 22:43
这还简单,搭建一个开发环境 ,差不多就成功了一半了~~程序可以自己写,开发环境 能自己写出?开玩笑吧。

天真----++++++++
回复 支持 反对

使用道具 举报

8

主题

569

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2363
金钱
2363
注册时间
2015-5-8
在线时间
320 小时
21#
发表于 2017-8-5 10:27:44 | 只看该作者
谢谢分享
回复 支持 反对

使用道具 举报

1

主题

2

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2012-3-27
在线时间
4 小时
22#
发表于 2018-1-4 01:26:43 | 只看该作者
xichuangxue 发表于 2017-2-22 22:58
工程在这里,过了好久,我也忘了当时怎么改的了

我的板子是JZ2440V2,测试不行哦!
回复 支持 反对

使用道具 举报

4

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2018-9-10
在线时间
16 小时
23#
发表于 2020-3-18 17:49:27 | 只看该作者
楼主威武,!!!!!!
回复 支持 反对

使用道具 举报

2

主题

46

帖子

0

精华

初级会员

Rank: 2

积分
115
金钱
115
注册时间
2020-3-13
在线时间
24 小时
24#
发表于 2020-3-25 14:03:35 | 只看该作者
马克马克,楼主流弊
回复 支持 反对

使用道具 举报

1

主题

5

帖子

0

精华

新手入门

积分
13
金钱
13
注册时间
2020-4-2
在线时间
1 小时
25#
发表于 2020-6-6 07:57:53 | 只看该作者
谢谢分享
回复 支持 反对

使用道具 举报

0

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
105
金钱
105
注册时间
2019-6-16
在线时间
18 小时
26#
发表于 2021-1-17 13:57:04 | 只看该作者
万分感谢楼主,谢谢,工程完美运行,
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-21 19:55

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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