搜索
bottom↓
回复: 47

RT-Thread1.3.x的基于Mini2440的MDK工程(测试版(晚上调试))

[复制链接]

出0入0汤圆

发表于 2009-12-18 15:39:37 | 显示全部楼层 |阅读模式
1.今天刚取出的代码,加了一个MDK工程;
2.LWIP未加,RTGUI未加;
3.最主要的,只是将MDK工程编译通过,jlink和mini2440都不在手边,还没有测试过;
4.喜欢的就自己完善吧;
5.BSP压缩包如下:
点击此处下载 ourdev_516251.rar(文件大小:276K) (原文件名:mini2440.rar)

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2009-12-18 19:19:57 | 显示全部楼层
svn上正在加mini2440的分支,一起来做吧

svn上的采用scons + Keil MDK的方式构建,现在已经能编译通过了,等到明天转接板到了就可以进行调试

出0入0汤圆

发表于 2009-12-18 19:21:08 | 显示全部楼层
不对,你这个就是基于google svn上的代码的

出0入0汤圆

 楼主| 发表于 2009-12-19 10:44:34 | 显示全部楼层
昨晚网络莫名的断了,上不了

to ffxz:
1.这确实是google svn的中取出的代码;
2.没问题,只要有空肯定做,非常喜欢RT-Thread,该有的都有了;
3.手头上正好有mini2440的开发板,利用晚上测试;
4.对了,我目前都是从google svn上去代码的,老大mini2440 BSP要是有新的更新,还请加入svn,我也好不做重复工作;
5.MDK不能出现同名文件,这点还有点麻烦,因此不得已将你的Libcpu中S3C24X0中的clock.c改名为clockcpu.c,避免和内核clock.c文件重名导致MDK不能编译;

出0入0汤圆

发表于 2009-12-19 14:29:39 | 显示全部楼层
还是采用和svn里相同的模式吧,命令行编译(需要在rtconfig.py中指定你的Keil MDK安装目录)

然后采用debug.Uv2来调试(直接按调试按钮即可调试)

目前代码已经跑到串口里了,估计串口没配置好,希望群策群力,把这个分支做好。

出0入0汤圆

 楼主| 发表于 2009-12-20 19:56:03 | 显示全部楼层
ffxz老大,不知道你那套是怎么样编译的,我习惯的是ADS1.2, gun make(linux或cygwin下),IAR for ARM,KEIL,eclipse下编译程序或者调试,你说的那种执行#.py脚本编译程序以及用keil调试,怎么实现的?可以发个教程或者链接吗?谢谢!

出0入0汤圆

发表于 2009-12-20 21:57:30 | 显示全部楼层
安装个python 2.5,安装个scons 1.2

把python2.5\scripts加到你的执行目录中,
切换到RTT\bsp\mini2440目录下,修改下rtconfig.py,指定个Keil MDK安装目录

打开dos命令行,
执行scons进行编译
执行scons -c进行清除目标文件
执行scons -j 4 如果你的PC是多核以启用并行编译

出0入0汤圆

 楼主| 发表于 2009-12-21 09:15:03 | 显示全部楼层
谢谢ffxz

出0入0汤圆

 楼主| 发表于 2009-12-22 22:55:04 | 显示全部楼层
1.RT-Thread mini2440 BSP的串口是怎么初始化的呢?没有看到初始化波特率的部分,
2.现在MDK工程编译并且通过jlink烧到norflash中;
3.可以直接在norflash中调试,(调试时需要将mmu初始化部分注释掉);
4.串口打印出是乱码,没有看到输出,终端我配置的115200;
5.不知道是哪里问题,再研究研究

出0入0汤圆

发表于 2009-12-22 23:50:01 | 显示全部楼层
唔,Wall.E已经把串口调试好了,还没更新到svn上,让他尽快更新

调试,可以直接在RAM里进行的,用svn里的那个debug.uv2的工程

嗯,看来还是得公布一个RT-Thread的QQ开发群,这样容易同步下状态(你也可以把你的gmail帐号给我,我把你加入到svn提交者名单中)

出0入0汤圆

 楼主| 发表于 2009-12-23 09:50:02 | 显示全部楼层
1.gmail账号还没有,到时申请一个再给你,目前只有QQ邮箱:1005869216@qq.com;
2.RAM中可以直接调试,但是前提是没有涉及中断函数;
3.RT-thread的上下文切换使用tick中断,在RAM中如何调试我就不太明白?一进入中断就跳转到flash地址处了,而flash中没有代码,程序就飞掉了;
4.flash中调试虽然每次都得固化代码,但是没有上面那个问题;
5.感谢你发来的keil+python +scons环境配置,还没有完全搞懂,在学习;

出0入0汤圆

 楼主| 发表于 2009-12-24 00:02:18 | 显示全部楼层
今晚接着调试:
1.串口移植了三星的官方驱动,可以正常打印了,其他没有测试;
2.出现新的问题,我是在调试串口时,采用nor flash中调试方式,链接地址均设置正确,
keil+jlink仿真没有问题,脱机跑就没有反应;
3.针对第二点,在确认工程配置和链接地址没有问题后,于是定位到rt-thread中mini2440的启动文件,可能是启动文件中初始化ram和flash的配置参数没有根据自己的开发板芯片设置好,明天继续调试;

出0入0汤圆

发表于 2009-12-24 00:09:29 | 显示全部楼层
"3.RT-thread的上下文切换使用tick中断,在RAM中如何调试我就不太明白?一进入中断就跳转到flash地址处了,而flash中没有代码,程序就飞掉了;
4.flash中调试虽然每次都得固化代码,但是没有上面那个问题; "

在FLASH中写个中断跳转,跳到RAM中,原来玩44B0是这样做的,看来2440也不支持中断向量重映射....

0x0C000000为SDRAM地址....

Vectors         LDR     PC, Reset_Addr            ;0x00 复位入口
                LDR     PC, =0x0C000004                  ;0x04
                LDR     PC, =0x0C000008                  ;0x08 SWI入口
                LDR     PC, =0x0C00000C                  ;0x0C PABT入口
                LDR     PC, =0x0C000010                  ;ox10 DABT入口
                NOP                               ;Reserved Vector
                LDR     PC, =0x0C000018                  ;0x18        IRQ入口
                LDR     PC, =0x0C00001C                  ;0x1C        FIQ入口
不知道有没有用....

出0入0汤圆

发表于 2009-12-24 07:58:33 | 显示全部楼层
中断的问题,可以用MMU把向量表映射到0地址去

wall.e还不太会用svn,等他更新完,我也试试。

出0入0汤圆

发表于 2009-12-24 09:29:27 | 显示全部楼层
学习,可惜手头没有2440的板子

出0入0汤圆

 楼主| 发表于 2009-12-24 09:38:07 | 显示全部楼层
1.谢谢aozima,你说的我看看,ADS下启动代码是这么处理的,MDK下没有注意,是的好好研究一下;
2.谢谢ffxz,开启mmu后,仿真好像有点问题;这个我在ADS下遇到过的;调试GUI时,我都是关闭MMU测试,好了再打开脱机跑;
3.发个源码比较工具--bycompare,有了它,svn提交代修改后的代码就方便了
点击此处下载 ourdev_518109.rar(文件大小:1.18M) (原文件名:BC2Setup.rar)

出0入0汤圆

 楼主| 发表于 2009-12-24 09:48:02 | 显示全部楼层
to ffxz:
补充一下;
这几天更新的内核文件(timer.c)加入软件定时器后,不是所有的BSP的配置文件rtconfig.h都做了同步修改,导致有的工程就编译失败了,请查看一下,

PS:stm32、LM3S你们更新倒是挺快的

出0入0汤圆

 楼主| 发表于 2009-12-24 10:41:02 | 显示全部楼层
16楼问题昨晚更新了软件定时器的条件编译,问题已经解决;

出0入0汤圆

发表于 2009-12-24 11:03:41 | 显示全部楼层
我不是说启动代码,我是说额外再在FLASH中烧一个转向的,这样在SDRAM中和FLASH中就一样了.

我那个代码就是MDK中的,汇编程序各个编译器的都差不多.
点击此处下载 ourdev_518134.rar(文件大小:5K) (原文件名:jump.rar)

出0入0汤圆

发表于 2009-12-24 11:16:45 | 显示全部楼层
STM32、LM3S在准备发布0.3.0 RC1版本,所以更改比较快

mini2440也会跟上步伐的,人多事情做起来就比较快了。调试的问题,开MMU应该问题不太大吧,我已经试过了的,不过LCD、GUI还没试。

友善之臂赞助了3套mini2440用于RT-Thread的开发,我们目前多余一套,所以如果愿意一起来进行RT-Thread开发,我们会转赠一套。具体可以看RT-Thread的论坛。

出0入0汤圆

 楼主| 发表于 2009-12-24 11:23:28 | 显示全部楼层
to aozima说的倒是一直值得一试的方法,我会测试的;
to ffxz,mini2440的板子我有了,我会继续测试的,你的留给对RT-Thread的mini2440分支有贡献的人,让更多的人参与吧;

出0入0汤圆

发表于 2009-12-25 20:24:37 | 显示全部楼层
第一个能运行的RT-Thread/mini2440版本已经诞生,感谢Wall.E的更新。(代码需要从google svn中获得)

这个版本包括:
- scons开发环境(在命令行中采用MDK中的armcc编译器编译)
- MDK + JLink调试支持(使用debug空的工程,这个工程只做调试使用,直接点击调试按钮即可开始调试)
- Kernel (115200波特率的串口,线程调度,中断都确定没问题了)
- finsh,使用UART1做为输入获得命令

运行图片:

(原文件名:mini2440.jpg)

出0入0汤圆

 楼主| 发表于 2009-12-26 01:19:48 | 显示全部楼层
还是你们速度快呀,搬个板凳学习中,再次对贡献者表示感谢

出0入0汤圆

发表于 2009-12-26 21:03:59 | 显示全部楼层
是的,Wall.E动作还是很快的。RT-Thread论坛那边很快的就报了一个问题上来,目前我还没来得及确认。

建立一个RT-Thread开发群:90978992。可以加入进来,共同开发mini2440的分支。

出0入0汤圆

 楼主| 发表于 2009-12-27 20:59:06 | 显示全部楼层
1.一定加入,只是时间也不充裕了,现在只能抽时间测试RT-Thread+RTGUI;
2.准备做一个自动售货机小项目(项目早就下来,本来已经用wince5.0+S3C2440+51控制板做好了,考虑节约(wince版权费)成本就找替代方案了),需要图形界面;
3.手头上最急的要准备上linux,又要搞linux了,留下业余的时间相对少了,自动售货机的项目也相应的排在后面;

出0入0汤圆

 楼主| 发表于 2009-12-28 12:24:53 | 显示全部楼层
搭建python  + scons 环境,编译RT-Thread详细步骤:

1.安装个python 2.5,安装个scons 1.2

2.把python2.5\scripts加到你的执行目录中,
  1).切换到RTT\bsp\mini2440目录下,修改下rtconfig.py,指定个Keil MDK安装目录
  2).指定MDK编译命令路径:EXEC_PATH += '/arm/bin31/' or EXEC_PATH += '/arm/bin41/'

打开dos命令行,
执行scons进行编译
执行scons -c进行清除目标文件
执行scons -j 4 如果你的PC是多核以启用并行编译

mini2440执行结果:

(原文件名:Snap4.jpg)

出0入0汤圆

 楼主| 发表于 2009-12-28 12:28:57 | 显示全部楼层
1.再次感谢ffxz,不用建MDK工程了,学会了搭建python  + scons 环境,不再受keil同名文件的困扰,
2.同时这个环境是个通用的环境,编译器可以自己指定,受益匪浅呀!

出0入0汤圆

发表于 2009-12-28 14:19:33 | 显示全部楼层
呵呵,实际上scons是很好用的,只是开始要安装两个软件包,不过还好都是.exe。

RT-Thread/STM32也做了scons的脚本,RT-Thread/LM3S也做了。可惜aozima说这个是小众用法,只有那种真正使用过的才知道,就像当初的finsh shell一样:-)

出0入0汤圆

发表于 2009-12-28 20:19:54 | 显示全部楼层
国产操作系统中,RT-Thread好像很火啊,楼上能不能把具体的产品实施案例介绍一下?

出0入0汤圆

发表于 2009-12-29 09:15:44 | 显示全部楼层
具体的产品实例属于各个厂商的隐私,所以RT-Thread这边也不会要求提供详细的产品描述

从使用RT-Thread的情况来看,多数用于监控设备中,而后通过串口或网口上报信息,亦有深市上市的公司采用RT-Thread来做产品。

出0入0汤圆

发表于 2009-12-29 09:25:11 | 显示全部楼层
请问一下:

把python2.5\scripts加到你的执行目录中, 这个是什么意思呢?是拷贝到目录里面吗?

我搞了半天没有弄起来。谢谢指导。

出0入0汤圆

发表于 2009-12-29 09:44:20 | 显示全部楼层
回复【30楼】arm_love  
请问一下:
把python2.5\scripts加到你的执行目录中, 这个是什么意思呢?是拷贝到目录里面吗?
我搞了半天没有弄起来。谢谢指导。
-----------------------------------------------------------------------

打开dos窗口,执行如下命令:
set PATH=C:\python2.5\script;%PATH%

然后再在这个dos窗口中进行编译(上面的命令只在当前这个dos窗口有效,关闭这个窗口就丢失了)
scons -j 4

出0入0汤圆

发表于 2009-12-29 10:41:47 | 显示全部楼层
还是有问题,再麻烦各位:
1.python2.5\scripts 好像我安装python后,没有这个目录。
2.执行scons后,报错如下:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named SCons.Script

不知道是啥原因!望指教!

出0入0汤圆

发表于 2009-12-29 12:47:21 | 显示全部楼层
python安装完以后肯定会有个python2.5\scripts的目录,没有这个目录肯定是安装的有问题,你可以重新安装python试下,或者换个版本看看

出0入0汤圆

 楼主| 发表于 2009-12-29 13:28:07 | 显示全部楼层
1.你安装了scons1.2吗?没安装是不行的,scons就是相当于给python"打补丁",将自身补充到你的python的安装目录相关文件夹中;
2.还有,保证你下载的scons是for Win的版本,python我用的是(python-2.5.2.msi),scons我用的是(scons-1.2.0.d20090919.win32.exe);

出0入0汤圆

 楼主| 发表于 2009-12-29 16:38:00 | 显示全部楼层
上传一个BSP,晚上接着研究,用的都是现有的LCD,KEY,TOUCH驱动,将RTGUI合入并编译通过,晚上在板上调试一下
点击此处下载 ourdev_520360.rar(文件大小:701K) (原文件名:mini2440.rar)

出0入0汤圆

发表于 2010-2-26 15:39:02 | 显示全部楼层
回复【楼主位】songzi2018
-----------------------------------------------------------------------

scons 是个什么东东?

出0入0汤圆

发表于 2010-2-26 15:41:22 | 显示全部楼层
回复【36楼】hais  
回复【楼主位】songzi2018
-----------------------------------------------------------------------
scons 是个什么东东?
-----------------------------------------------------------------------
RT-Thread RTOS:新的命令行构建系统

出0入0汤圆

发表于 2010-2-26 15:51:04 | 显示全部楼层
回复【37楼】aozima  

-----------------------------------------------------------------------

发觉你的回帖速度绝对够快!

出0入0汤圆

发表于 2010-2-26 16:35:56 | 显示全部楼层
回复【36楼】hais
-----------------------------------------------------------------------

OK,搞定了,谢谢!

出0入0汤圆

发表于 2010-2-26 17:05:40 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-2-26 22:59:33 | 显示全部楼层
对其中的TOUCH驱动比较感兴趣,特别是如何与RTGUI结合

出0入0汤圆

发表于 2010-2-27 09:52:30 | 显示全部楼层
目前RT-Thread/mini2440中的touch panel驱动实现了触笔down和up的坐标检测功能,触笔的move功能还没做。

出0入0汤圆

发表于 2010-2-28 01:28:51 | 显示全部楼层
今晚折腾了很久才编译通过,终于把仿真环境搭建起来了。后来看到这篇文章,才发现这里已经写了相关的编译说明。目前仿真是成功了,不过好像还是有点问题,有时候会死掉。

出0入31汤圆

发表于 2010-2-28 08:15:56 | 显示全部楼层
有在IDE下直接编译的吗

出0入0汤圆

发表于 2010-3-9 20:04:34 | 显示全部楼层
试了几次,在finsh下输入经常导致rtt死机,原因未明。
系统能不能监视网络端口,动态增加finsh线程?

出0入0汤圆

发表于 2010-5-27 19:27:36 | 显示全部楼层
请问下各位高手,就是那个为什么scons编写好的代码,用mdk烧写时候会报错
(原文件名:1.jpg)
  但是
(原文件名:2.jpg)

把load application at startup勾上,再下载,然后再取消勾掉,再下载,几次后又可以进了?

出0入0汤圆

发表于 2010-5-27 21:28:19 | 显示全部楼层
问题已经解决了

(原文件名:scons解决办法.jpg)
原因是下载数度太快了
这样就可以解决了,感谢各位前辈的指导!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-20 16:38

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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