liuweiele 发表于 2011-7-1 21:34:56

基于ARM的 多进程操作系统 -- 最新移植到S3C2440 -- 2440BSP源码公布

经过两天的努力,终于完成了 S3C2440 BSP移植,并实际在 GEC2440 和 MINI2440上运行成功;
应用程序的二进制代码和源码都和 S3C6410 是100%兼容的,
之前在6410上的应用程序,无需重新编译,便可直接在2440上运行,这也实际验证了应用程序与硬件无关性...

操作系统内核 + 2440BSP 工程源码:
点击此处下载 ourdev_653916OOJN14.rar(文件大小:8.27M) (原文件名:S3C2440_System.rar)

flyforyou85 发表于 2011-7-1 21:38:19

不错,下下来看看,楼主,有没有个中文说明啊?
手头有6410的板子,但是不知道如何入门,哪里有详细的教程不?

liuweiele 发表于 2011-7-1 21:41:56

SDK 和 6410版共用:
这个版本的内核有更新,ADS SDK的头文件 Kernel.h 用BSP目录下的Kernel.h更新一下.

用户移植到其它 2440平台,只要修改一下 LCD 和 Flash参数,重新编译后,
把生成的 Bin文件烧录到 NandFlash 或 下载到 2440 SDRAM 0x30000000 就可以运行该系统;

另外,用户也可以自行在BSP中添加自己的设备驱动...

liuweiele 发表于 2011-7-1 21:43:31

回复【1楼】flyforyou85
不错,下下来看看,楼主,有没有个中文说明啊?
手头有6410的板子,但是不知道如何入门,哪里有详细的教程不?

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

你是问 应用程序开发说明 还是 系统移植说明 ?

liuweiele 发表于 2011-7-1 21:54:08

在GEC2440上的运行效果:

硬件配置:
CPU:   S3C2440A   - 400MHZ
RAM:   SDRAM      - 64MB
Flash: K9F1208    - 64MB
LCD:   AT080TN    - 群创 8.0寸 TFT, 800x480

http://cache.amobbs.com/bbs_upload782111/files_42/ourdev_653921LKMQR9.JPG
(原文件名:DSC_3576.JPG)

http://cache.amobbs.com/bbs_upload782111/files_42/ourdev_653922GBVHZH.JPG
(原文件名:DSC_3581.JPG)

http://cache.amobbs.com/bbs_upload782111/files_42/ourdev_653923F4P1A1.JPG
(原文件名:DSC_3583.JPG)

http://cache.amobbs.com/bbs_upload782111/files_42/ourdev_653924JTQD9K.JPG
(原文件名:DSC_3584.JPG)

http://cache.amobbs.com/bbs_upload782111/files_42/ourdev_653925BZJFUN.JPG
(原文件名:DSC_3585.JPG)

http://cache.amobbs.com/bbs_upload782111/files_42/ourdev_653926B020VV.JPG
(原文件名:DSC_3586.JPG)

http://cache.amobbs.com/bbs_upload782111/files_42/ourdev_653927NIISSG.JPG
(原文件名:DSC_3587.JPG)

http://cache.amobbs.com/bbs_upload782111/files_42/ourdev_653928K9LA8V.JPG
(原文件名:DSC_3588.JPG)

http://cache.amobbs.com/bbs_upload782111/files_42/ourdev_653929JD4ZE7.JPG
(原文件名:DSC_3590.JPG)

http://cache.amobbs.com/bbs_upload782111/files_42/ourdev_653930RGLAJH.JPG
(原文件名:DSC_3591.JPG)

hzr0071 发表于 2011-7-1 22:04:26

lz,您的SDK说明有吗?找你以前的贴子没有找到。
lz是研究所的吧。。。。。。。国立研究所应该做不到这种程度,难道是个人的????
lz的系统已经独立一家了。。。。。

liuweiele 发表于 2011-7-1 22:07:35

http://cache.amobbs.com/bbs_upload782111/files_42/ourdev_653939DBPDZ1.JPG
(原文件名:DSC_3594.JPG)

liuweiele 发表于 2011-7-1 22:09:02

回复【5楼】hzr0071
lz,您的sdk说明有吗?找你以前的贴子没有找到。
lz是研究所的吧。。。。。。。国立研究所应该做不到这种程度,难道是个人的????
lz的系统已经独立一家了。。。。。
-----------------------------------------------------------------------

SDK可以用这里面的:
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4823445&bbs_page_no=1&search_mode=4&search_text=liuweiele&bbs_id=9999

liuweiele 发表于 2011-7-1 22:14:47

回复【5楼】hzr0071
lz,您的sdk说明有吗?找你以前的贴子没有找到。
lz是研究所的吧。。。。。。。国立研究所应该做不到这种程度,难道是个人的????
lz的系统已经独立一家了。。。。。
-----------------------------------------------------------------------

目前只是 "个人研究" ~~~~~~

liuweiele 发表于 2011-7-1 22:58:34

在Mini2440上的运行效果 ( 3年前用的Mini2440,4.3寸LCD显示效果很不错 ) :

硬件配置:
CPU:   S3C2440A   - 400MHZ
RAM:   SDRAM      - 64MB
Flash: K9F1208    - 64MB
LCD:   WXCAT-43- 东华4.3寸 TFT, 480x272

http://cache.amobbs.com/bbs_upload782111/files_42/ourdev_653945QJZJ4S.JPG
(原文件名:DSC_3598.JPG)

http://cache.amobbs.com/bbs_upload782111/files_42/ourdev_653946E4GTU3.JPG
(原文件名:DSC_3603.JPG)

http://cache.amobbs.com/bbs_upload782111/files_42/ourdev_653947KYMTDZ.JPG
(原文件名:DSC_3613.JPG)

http://cache.amobbs.com/bbs_upload782111/files_42/ourdev_653948Y70RPF.JPG
(原文件名:DSC_3615.JPG)

http://cache.amobbs.com/bbs_upload782111/files_42/ourdev_653949Y6MV0J.JPG
(原文件名:DSC_3616.JPG)

http://cache.amobbs.com/bbs_upload782111/files_42/ourdev_653950XEOJ3S.JPG
(原文件名:DSC_3618.JPG)

http://cache.amobbs.com/bbs_upload782111/files_42/ourdev_653951RHMPD4.JPG
(原文件名:DSC_3621.JPG)

http://cache.amobbs.com/bbs_upload782111/files_42/ourdev_653952B0TKWK.JPG
(原文件名:DSC_3624.JPG)

http://cache.amobbs.com/bbs_upload782111/files_42/ourdev_653953CE3XUJ.JPG
(原文件名:DSC_3625.JPG)

http://cache.amobbs.com/bbs_upload782111/files_42/ourdev_653954X8CQ96.JPG
(原文件名:DSC_3627.JPG)

voval 发表于 2011-7-2 00:47:28

mark~

liangyurongde 发表于 2011-7-2 09:06:18

mark

raymond1981 发表于 2011-7-2 09:08:46

mark

anvy178 发表于 2011-7-2 09:48:46

要标记下 好东西

SNOOKER 发表于 2011-7-2 10:30:19

ding

liuweiele 发表于 2011-7-5 11:11:57

后续将公布 基于ARM926EJ-S 的 S3C2416 / S3C2450 BSP 源码...

ggg12345 发表于 2011-7-6 21:04:13

高手啊

ggg12345 发表于 2011-7-6 23:54:10

不明白的是楼主的操作系统能介绍一下吗?
为何游戏也能运行在你的操作系统下,也是linux吗?

alexmayer 发表于 2011-7-7 09:11:25

Mark!

catzl7 发表于 2011-7-7 09:17:35

mark

jaylondon 发表于 2011-7-7 09:34:35

楼主的操作系统有个名字么?
就叫多进程操作系统撒?

liuweiele 发表于 2011-7-7 09:44:53

回复【20楼】jaylondon
楼主的操作系统有个名字么?
就叫多进程操作系统撒?
-----------------------------------------------------------------------

还没确定叫什么名字~~~

liuweiele 发表于 2011-7-7 09:58:07

回复【17楼】ggg12345
不明白的是楼主的操作系统能介绍一下吗?
为何游戏也能运行在你的操作系统下,也是linux吗?
-----------------------------------------------------------------------

操作系统组成: 多进程/多线程OS内核 + 设备管理器 + GUI + FS
应用程序独立编译,动态加载运行;
在CPU 指令兼容的情况下,应用程序可以跨平台运行.
目前,提供约400多个API供用户使用,其中约80%的API是和 win32API 兼容的;

这些游戏演示是丛windows VC上移植过来的.

liuweiele 发表于 2011-7-7 10:34:15

"在CPU 指令兼容的情况下,应用程序可以跨平台运行" 的解释说明:

比如: 用户开发了一个应用程序: Test, 编译后生成了可执行文件: Test.app
但这个应用程序要在4个不同的硬件平台上运行,假设这4个硬件平台分别为:

ARM720:SEP4020      + 16MB SDRAM+ 3.5 TFT,320x240,16bpp
ARM920:S3C2410      + 64MB SDRAM+ 4.3 TFT,480x272,16bpp
ARM926:AT91SAM9261+ 128MB SDRAM + 7.0 TFT,800x480,24bpp
ARM1176: S3C6410      + 256MB DDRAM + 8.0 TFT,800x600,24bpp

这4个平台CPU内核分别为ARM720, ARM920, ARM926, ARM1176,
虽然它们的硬件配置和物理空间是各不相同的,但同一份应用程序
Test.app却可以直接运行在这些不同的硬件平台上,并不需要为每个
平台都单独编译一份app可执行文件.

liuweiele 发表于 2011-7-7 17:15:22

S3C2416 / S3C2450 BSP源码已公布:
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4858649&bbs_id=9999

yone3 发表于 2011-7-11 09:28:32

楼主啊 渴望您的联系方式,想拜您为师,就收了徒弟吧!

apple_01 发表于 2011-8-12 15:45:31

资源: micro2440 , 800x600 彩屏 (GUI_Gdev.c 中修改) ; Nandflash:K9F1G08 (已经单选 #define K9FG08)
效果: 屏幕下方有4个平均分布的长方形,灰色的,有立体感,屏幕是灰白色的 (颜色相近,拍不出相片),其它没有了,
      点触摸屏,串口有数据出.
到下面的提示出错,请楼主帮忙分析原因.
*******************************************
* RO 80000000H - 8008641CH; Size: 549916
* RW 8008641CH - 8055B7B8H; Size: 5067676
* ZI 8008647CH - 8055B7B8H; Szie: 5067580
*
********************************************
atoi=805320608,atoi=805320604,strlen=4
abs=-1234,1234

0000_0000:3F 00 00 EA 12 00 00 EA 17 00 00 EA 22 00 00 EA
0000_0010:1B 00 00 EA FE FF FF EA 07 00 00 EA 00 00 00 EA
0000_0020:B0 01 00 EA 04 D0 4D E2 01 00 2D E9 E4 05 9F E5
0000_0030:00 00 90 E5 04 00 8D E5 01 80 BD E8 04 D0 4D E2


******************************
*      System Startup      *
******************************
System Build Date: Jul 01 2011
System Build Time: 14:10:31
System Local Time: 2037-8-5 22:02:06
ProcessorInfo:
-> Family:ARM920T
-> String:S3C2440A-40
-> ID:      00002440
-> Clock:   400MHZ
KerelHeapInfo:
-> BaseAddr:82000000H
-> PageSize:128Byte
-> TotalSize: 32505855Byte
UserHeapInfo:
-> BaseAddr:81000000H
-> PageSize:1048576Byte
-> TotalSize: 16777215Byte
set_intr -> 8 - -7FFF8CC4H
CreateThread -> 82000300H,255
CreateThread -> 82000780H,254
CreateThread -> 82004A00H,16
OS Core Startup
####
OSStatInit
OSIdleCounterMax =2699165
Kernel_API_Entry: 8004A41CH

FFFE_4000:33 CC 33 CC 33 CC 33 CC 33 CC 33 CC 33 CC 33 CC
FFFE_4010:04 F0 1F E5 0C 02 01 80 01 04 00 00 00 00 00 00
kernel_api_init
ram_disk_addr_base =80800000H
RegisterDrive -> 0 - 'RAM Disk'
disk->get_sector_size=512
disk->get_sector_size=512
#### -> fmt=0 -512,512
f_mount -> 0 - 0
Init. Frequency is 200000Hz
In idle
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
CMD55:rSDICSTA=0xc00, rSDIRSP0=0x0
Initialize fail                        ------------------> 出错了
No Card assertion                      ------------------> 必须使用SD卡?
SD Card Init Fail!                     ------------------> 必须使用SD卡?

***********************
****    fs info    ****
***********************
drive:      0
fs_type:    FAT16
c_size:   2
s_size:   512
n_fats:   1
wflag:      0
id:         1
n_rootdir:512
sects_fat:34
max_clust:8159
free_clust: 8157
fat_base:   2
dir_base:   36
data_base:68
***********************
TotalSize: 8320000 Byte
FreeSize:8352768 Byte
**********************
RegisterDevice -> 'COM1'
GUI_Init
GWIS_API_Entry: 800490DCH

FFFE_8000:33 CC 33 CC 33 CC 33 CC 33 CC 33 CC 33 CC 33 CC
FFFE_8010:33 CC 33 CC 33 CC 33 CC 33 CC 33 CC 33 CC 33 CC
gwis_api_init
LCDInit End(800x600,16bpp)
ScreenWidth=800;ScrHeigh=600;Bpp=16
GUI_Font Init OK!
GUI_Resource_Init!
SetWallpaper -> 'B:\kernel\res\desktop.jpg'
GUI_Timer_Init!
GUI_Window_Init!
RegisterClass -> 'button' - 00000000H
RegisterClass -> 'static' - 00000000H
RegisterClass -> 'edit' - 00000000H
RegisterClass -> 'scrollbar' - 00000000H
RegisterClass -> 'listbox' - 00000000H
RegisterClass -> 'imagebox' - 00000000H
RegisterClass -> 'toolbar' - 00000000H
CreateThread -> 820F0C00H,128
ts_load_config Error                         ------------------> 出错了
CreateThread -> 820F1E80H,200
CreateThread -> 820F6100H,128
CreateThread -> 820F7380H,128
MultiMedia_API_Entry: 8004AA9CH

FFFE_C000:04 F0 1F E5 34 00 03 80 00 0C 00 00 00 00 00 00
FFFE_C010:04 F0 1F E5 38 00 03 80 01 0C 00 00 00 00 00 00
multimedia_api_init
CreateThread -> 820FB600H,128
CreateThread -> 820FC880H,129
CreateThread -> 820FDB00H,130
CreateThread -> 820FED80H,131
CreateThread -> 82107000H,132
CreateThread -> 82108280H,133
CreateThread -> 82109500H,134
CreateThread -> 8210A780H,135
CreateThread -> 8210BA00H,136
CreateThread -> 8210CC80H,137
CreateThread -> 8210DF00H,138
DestroyThread! - 820FDB00H
DestroyThread! - 82108280H
DestroyThread! - 82109500H
DestroyThread! - 8210A780H
DestroyThread! - 8210BA00H
DestroyThread! - 8210CC80H
TouchPanel Thread Startup!
Desktop -> WM_ERASEBKGND - 0,0,800,600
GUI_Desktop Start!
Desktop->pMsgQ=820FCC80H
SetTimer -> 820FD080H - 500
DestroyThread! - 820FED80H
SetTimer -> 820FEA80H - 300
DestroyThread! - 820FC880H

**************************
****   Main Menu    ****
**************************
Select Function(0~5):
. USB MassStoeage
. GUI Demo
. TouchScreen Calibrate
. FS Test
. TCB View
. Custom

->:

liuweiele 发表于 2011-8-13 00:24:19

回复【26楼】apple_01
-----------------------------------------------------------------------

BSP驱动中,"系统文件"目录默认是放在SD卡中,你需要把"系统文件"复制到SD下:
请参考这个帖子"第3楼"
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4758877&bbs_page_no=1&search_mode=4&search_text=liuweiele&bbs_id=9999

apple_01 发表于 2011-8-15 14:54:33

系统文件复制到SD (512M Panasonic SD),已建立目录:
Q:\kernel\res
Q:\kernel\drivers
Q:\kernel\fonts
Q:\kernel\startup

Q:\ 为SD卡在电脑的盘符
==================================================
运行仍出错:
********************************************
* RO 80000000H - 8008641CH; Size: 549916
* RW 8008641CH - 8055B7B8H; Size: 5067676
* ZI 8008647CH - 8055B7B8H; Szie: 5067580
*
********************************************
atoi=805320608,atoi=805320604,strlen=4
abs=-1234,1234

0000_0000:3F 00 00 EA 12 00 00 EA 17 00 00 EA 22 00 00 EA
0000_0010:1B 00 00 EA FE FF FF EA 07 00 00 EA 00 00 00 EA
0000_0020:B0 01 00 EA 04 D0 4D E2 01 00 2D E9 E4 05 9F E5
0000_0030:00 00 90 E5 04 00 8D E5 01 80 BD E8 04 D0 4D E2


******************************
*      System Startup      *
******************************
System Build Date: Jul 01 2011
System Build Time: 14:10:31
System Local Time: 2031-8-2 14:45:39
ProcessorInfo:
-> Family:ARM920T
-> String:S3C2440A-40
-> ID:      00002440
-> Clock:   400MHZ
KerelHeapInfo:
-> BaseAddr:82000000H
-> PageSize:128Byte
-> TotalSize: 32505855Byte
UserHeapInfo:
-> BaseAddr:81000000H
-> PageSize:1048576Byte
-> TotalSize: 16777215Byte
set_intr -> 8 - -7FFF8CC4H
CreateThread -> 82000300H,255
CreateThread -> 82000780H,254
CreateThread -> 82004A00H,16
OS Core Startup
####
OSStatInit
OSIdleCounterMax =2699170
Kernel_API_Entry: 8004A41CH

FFFE_4000:01 8D 33 CC 00 05 33 CC 40 0E 33 CC 60 42 33 CC
FFFE_4010:04 F0 1F E5 0C 02 01 80 01 04 00 00 00 00 00 00
kernel_api_init
ram_disk_addr_base =80800000H
RegisterDrive -> 0 - 'RAM Disk'
disk->get_sector_size=512
disk->get_sector_size=512
#### -> fmt=0 -512,512
f_mount -> 0 - 0
Init. Frequency is 200000Hz
In idle
Initialize fail                      --------> 出错
No Card assertion                  --------> 出错
SD Card Init Fail!                   --------> 出错

***********************
****    fs info    ****
***********************
drive:      0
fs_type:    FAT16
c_size:   2
s_size:   512
n_fats:   1
wflag:      0
id:         1
n_rootdir:512
sects_fat:34
max_clust:8159
free_clust: 8157
fat_base:   2
dir_base:   36
data_base:68
***********************
TotalSize: 8320000 Byte
FreeSize:8352768 Byte
**********************
RegisterDevice -> 'COM1'
GUI_Init
GWIS_API_Entry: 800490DCH

FFFE_8000:01 D8 33 CC 08 05 33 CC 40 08 33 CC A1 C0 33 CC
FFFE_8010:00 EA 33 CC 18 D6 33 CC 32 80 33 CC A1 90 33 CC
gwis_api_init
LCDInit End(800x600,16bpp)
ScreenWidth=800;ScrHeigh=600;Bpp=16
GUI_Font Init OK!
GUI_Resource_Init!
SetWallpaper -> 'B:\kernel\res\desktop.jpg'
GUI_Timer_Init!
GUI_Window_Init!
RegisterClass -> 'button' - 00000000H
RegisterClass -> 'static' - 00000000H
RegisterClass -> 'edit' - 00000000H
RegisterClass -> 'scrollbar' - 00000000H
RegisterClass -> 'listbox' - 00000000H
RegisterClass -> 'imagebox' - 00000000H
RegisterClass -> 'toolbar' - 00000000H
CreateThread -> 820F0C00H,128
ts_load_config Error                        --------> 出错
CreateThread -> 820F1E80H,200
CreateThread -> 820F6100H,128
CreateThread -> 820F7380H,128
MultiMedia_API_Entry: 8004AA9CH

FFFE_C000:04 F0 1F E5 34 00 03 80 00 0C 00 00 00 00 00 00
FFFE_C010:04 F0 1F E5 38 00 03 80 01 0C 00 00 00 00 00 00
multimedia_api_init
CreateThread -> 820FB600H,128
CreateThread -> 820FC880H,129
CreateThread -> 820FDB00H,130
CreateThread -> 820FED80H,131
CreateThread -> 82107000H,132
CreateThread -> 82108280H,133
CreateThread -> 82109500H,134
CreateThread -> 8210A780H,135
CreateThread -> 8210BA00H,136
CreateThread -> 8210CC80H,137
CreateThread -> 8210DF00H,138
DestroyThread! - 820FDB00H
DestroyThread! - 82108280H
DestroyThread! - 82109500H
DestroyThread! - 8210A780H
DestroyThread! - 8210BA00H
DestroyThread! - 8210CC80H
TouchPanel Thread Startup!
Desktop -> WM_ERASEBKGND - 0,0,800,600
GUI_Desktop Start!
Desktop->pMsgQ=820FCC80H
SetTimer -> 820FD080H - 500
DestroyThread! - 820FED80H
SetTimer -> 820FEA80H - 300
DestroyThread! - 820FC880H

**************************
****   Main Menu    ****
**************************
Select Function(0~5):
. USB MassStoeage
. GUI Demo
. TouchScreen Calibrate
. FS Test
. TCB View
. Custom

->:
===============================================
是否需要特定的SD卡才行?

liuweiele 发表于 2011-8-15 15:24:31

回复【28楼】apple_01
-----------------------------------------------------------------------

低试试这个 SD 驱动:
点击此处下载 ourdev_667882LYQ3Z7.rar(文件大小:5K) (原文件名:SDI.rar)

liuweiele 发表于 2011-8-15 15:25:27

替换原来的 ./BSP/drives/SDI/SDI.c

liuweiele 发表于 2011-8-15 15:27:00

再适当降低 SDI时钟

yl604922959 发表于 2011-8-15 16:18:05

mark

apple_01 发表于 2011-8-16 09:56:51

多谢楼主指点.
不过,那个替换的SDI.C 文件有问题:

http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_668156FOEQC0.JPG
新的SDI.C文件编译出错 (原文件名:err1.JPG)

apple_01 发表于 2011-8-16 10:58:02

用原来的SDI.C,换一张SD卡(1G)就出来界面了。
好象说三星的SD驱动还分大小容量的,麻烦,不知道是否还挑牌子。
建议搂主把kernel放到flash里,省得到处找SD卡,kernel也就4M多一点点大,放到flash完全无问题。

liuweiele 发表于 2011-8-16 10:58:40

你用这个代替,注释掉了sd_disk_flush

//NandFlash Disk数据结构
const DEVICE_INTERFACE        sd_disk_dev={
        "SD Card",
        sd_disk_power_up,
        sd_disk_open,
        sd_disk_read,
        sd_disk_write,
        //sd_disk_flush,
        0,
        0,
        sd_disk_io_ctrl,
        sd_disk_suspend,
        sd_disk_resume,
        sd_disk_close,
};

//////////////////////////////////////////////////////

你使用的是旧版操作系统和BSP,设备驱动接口不提供DeivceFlush功能,
新版在这里:
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4907057&bbs_page_no=1&search_mode=4&search_text=liuweiele&bbs_id=9999

liuweiele 发表于 2011-8-16 11:25:15

回复【34楼】apple_01
-----------------------------------------------------------------------


kernel是可以放在Flash里的,只要修改BSP就能实现(使用最新版系统和BSP):
实现过程如下:

1. 按实际硬件完成NandFlash的驱动接口
2. 在 BSP.c -> arch_RegisterDrive函数中,调用RegisterDrive函数,
   将NandFlash驱动注_册为 1号 磁盘驱动器,如:RegisterDrive(1,&nand_disk_dev);
3. 完成 USB Massstore驱动接口,使 NandFlash 以"U盘"方式连接电脑,
   这样便可实现丛电脑上直接拷贝文件到NandFlash中.

/////////////////////////////////

备注:

1. 系统默认路径为: B;\Kernel,对应的1号物理磁盘,
   逻辑盘处物理盘关系对应如下 A:->0,B:->1,C:->2,...Z:->26

2. USB Massstore驱动实现,在这个帖子里有说明:
   http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4907057&bbs_page_no=1&search_mode=4&search_text=liuweiele&bbs_id=9999

apple_01 发表于 2011-8-16 14:20:39

http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4907057&bbs_page_no=1&search_mode=4&search_text=liuweiele&bbs_id=9999

2440的新版BSP编译错误很多,主要是USB Massstore 那里, 很多被注释的,去掉注释后,仍然有错误,编译过不去。

apple_01 发表于 2011-8-16 14:36:13

搂主,提个小建议, *.C 中的 #define xxx 之类的, 最好放到 *.h 中去,修改参数方便。
例如,需要修改LCD的参数,得在GUI_Gdev.c中查得很深才能找到要修改的东西,就是下面的 #define xxxxx:
=======================================================================

static        int        lcd_init(void)
{
        volatile        LCD_REG                *lcd        =PA2VA(LCD_REG_PA_BASE);
        volatile        GPIO_REG        *gpio        =PA2VA(GPIO_REG_PA_BASE);
        volatile        CLKPWR_REG        *clk        =PA2VA(CLKPWR_REG_PA_BASE);
        U16 lcd_horizon_value,lcd_line_value;
       
        //4.3 TFT
//        #define MVAL                (13)        //Def=13
        #define MVAL_USED         (0)                //0=each frame   1=rate by MVAL

        #define        INVVCLK                (0)
        #define        INVVLINE        (0)
        #define        INVVFRAME        (0)
        #define        INVVD                (1)
        #define INVVDEN                (0)                //0=normal       1=inverted
        #define        INVPWREN        (0)
        #define        INVLEND                (0)

#if        LCD_BPP==16
        #define BSWP                (0)                //Byte swap control
        #define HWSWP                (1)                //Half word swap control
#endif

#if        LCD_BPP==24
        #define BSWP                (0)                //Byte swap control
        #define HWSWP                (0)                //Half word swap control
#endif

        #define M5D(n) ((n) & 0x1fffff)        // To get lower 21bits

        #define HFPD (10)
        #define HSPW (10)
        #define HBPD (10)

        #define VFPD (20)
        #define VSPW (20)
        #define VBPD (20)

        #define CLKVAL_TFT        (5)       //7

liuweiele 发表于 2011-8-16 14:36:14

回复【37楼】apple_01
-----------------------------------------------------------------------

截个图来看看.

apple_01 发表于 2011-8-16 14:40:35

http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_668220TIJ8GW.JPG
举手就是出错 (原文件名:err_2.JPG)

apple_01 发表于 2011-8-16 14:45:20

ADS 软件真够呛的,不停打开新窗口,同类型的窗口竟然不停创建,被Keil 代替也是有理由的,
楼主,搞 keil MDK 版本的吧,我想休息一下点鼠标的手。

liuweiele 发表于 2011-8-16 14:46:13

回复【38楼】apple_01
-----------------------------------------------------------------------

对于那些不需要被外部函数调用的"本地宏",我一般是直接在C文件中定义...

apple_01 发表于 2011-8-16 14:52:23

宏定义放在头文件中,查找和管理方便。
比如,现在要升级BSP,宏定义中的参数又得在C文件中继续深入查找、修改,升级越多,重复工作做得越多,
搞不好,C文件都被破坏了。

liuweiele 发表于 2011-8-16 14:53:40

回复【41楼】apple_01
ads 软件真够呛的,不停打开新窗口,同类型的窗口竟然不停创建,被keil 代替也是有理由的,
楼主,搞 keil mdk 版本的吧,我想休息一下点鼠标的手。
-----------------------------------------------------------------------

原本是有 Keil MDK版的,后来发现 MDK由.scf生成的 RO,RW,ZI有"bug",所以就放弃了...
ADS其实也有很不已错,编译速度至少比MDK快3倍以上,这对"中大型"软件开发,是很有优势的.

liuweiele 发表于 2011-8-16 15:05:11

回复【40楼】apple_01
-----------------------------------------------------------------------
你发的图片看不清楚, 我再发一个完整的工程,你修改一下LCD驱动就可以了:

点击此处下载 ourdev_668224SKI6JN.rar(文件大小:7.15M) (原文件名:S3C2440_System.rar)

apple_01 发表于 2011-8-16 15:39:53

利用下面2个文件,在keil中编译,下载到RAM运行正常,在norflash中也正常:
点击此处下载 ourdev_668234GYKH4H.pdf(文件大小:3.36M) (原文件名:RealView MDK 2440快速开发快速入门.pdf)
点击此处下载 ourdev_668235KKNVNF.rar(文件大小:192K) (原文件名:RealView MDK 2440快速开发入门工程文件.rar)

apple_01 发表于 2011-8-16 15:54:25

http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_668240Z13OCI.JPG
换了刚下的,还是出错 (原文件名:err_2.JPG)

liuweiele 发表于 2011-8-16 16:48:09

回复【47楼】apple_01
-----------------------------------------------------------------------

你找一下 USB_DrvLib.h 中有没有这几个宏定义

tangnyzl 发表于 2011-8-16 16:50:26

老大,不用忙了,不开源的东西,没人敢用在项目上,要研究,开源的太多了

liuweiele 发表于 2011-8-16 16:52:57

ADS编译方法:

http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_668267HU3EYC.JPG
(原文件名:001.JPG)

http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_668268LU2INB.JPG
(原文件名:002.JPG)

http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_668269N91FZR.JPG
(原文件名:003.JPG)

liuweiele 发表于 2011-8-16 17:08:50

回复【49楼】tangnyzl
老大,不用忙了,不开源的东西,没人敢用在项目上,要研究,开源的太多了
-----------------------------------------------------------------------

apple_01 发表于 2011-8-16 17:23:08

能出来界面了。
不过,对比旧版,还是有问题。
旧版的屏幕地图是16色的彩色显示,新版的没有16色了,原来鲜艳的绿色,现在是紫色了,好象是8色? 还是单色?
只能在RAM里运行。 不知道怎么设置ADS达到下载nandflash目的。

to: 【49楼】 tangnyzl
楼主很给力了,应该给予支持。

liuweiele 发表于 2011-8-16 17:31:21

回复【52楼】apple_01
能出来界面了。
不过,对比旧版,还是有问题。
旧版的屏幕地图是16色的彩色显示,新版的没有16色了,原来鲜艳的绿色,现在是紫色了,好象是8色? 还是单色?
to: 【49楼】 tangnyzl
楼主很给力了,应该给予支持。
-----------------------------------------------------------------------

在 GUI_GDev -> lcd_init 函数中,

将   #define INVVD(1)    改为   #define INVVD(0)

liuweiele 发表于 2011-8-16 17:33:34

回复【52楼】apple_01
-----------------------------------------------------------------------

如果要把代码烧录到 NandFlash, 推荐使用 H-JTAG.

apple_01 发表于 2011-8-17 09:40:01

H-JTAG烧写还可以,读芯片的信息那真是煎熬,可以说是人间最大的杯具。

apple_01 发表于 2011-8-17 13:56:05

BSP.C 修改如下:
void        arch_RegisterDrive(void)
{
        RegisterDrive(0,(void*)ram_disk_entry());       
        RegisterDrive(1,(void*)sd_disk_entry());      
       
        RegisterDrive(2,(void*)nand_disk_entry());          
       
        USB_MassStorage();                           
               
}

结果如下:

********************************************
* RO 80000000H - 80089A34H; Size: 563764
* RW 80089A34H - 806554E8H; Size: 6077108
* ZI 80089A98H - 806554E8H; Szie: 6077008
*
********************************************
atoi=805323764,atoi=805323760,strlen=4
abs=-1234,1234

0000_0000:3F 00 00 EA 12 00 00 EA 17 00 00 EA 22 00 00 EA
0000_0010:1B 00 00 EA FE FF FF EA 07 00 00 EA 00 00 00 EA
0000_0020:B4 01 00 EA 04 D0 4D E2 01 00 2D E9 F4 05 9F E5
0000_0030:00 00 90 E5 04 00 8D E5 01 80 BD E8 04 D0 4D E2


******************************
*      System Startup      *
******************************
Version:0.0.1 (2011/07/09)
System Build Date: Jul 27 2011
System Build Time: 17:26:27
System Local Time: 2031-8-4 13:52:01
ProcessorInfo:
-> Family:ARM920T
-> String:S3C2440A-40
-> ID:      00002440
-> Clock:   400MHZ
KerelHeapInfo:
-> BaseAddr:82000000H
-> PageSize:128Byte
-> TotalSize: 32505855Byte
UserHeapInfo:
-> BaseAddr:81000000H
-> PageSize:1048576Byte
-> TotalSize: 16777215Byte
set_intr -> 8 - -7FFF800CH
CreateThread -> 82000300H,255
CreateThread -> 82000780H,254
CreateThread -> 82004A00H,16
OS Core Startup
####
OSStatInit
OSIdleCounterMax =2699112
Kernel_API_Entry: 8004D8D8H

FFFE_4000:33 CC 05 CC 31 1C 33 EC 23 84 33 4E 23 CC 31 D8
FFFE_4010:04 F0 1F E5 EC 22 01 80 01 04 00 00 00 00 00 00
kernel_api_init
ram_disk_addr_base =80800000H
RegisterDrive -> 0 - 'RAM Disk'
disk->get_sector_size=512
disk->get_sector_size=512
ram_disk_rd -> 00000000H - 1
#### -> fmt=0 -512,512
f_mount -> 0 - 0
ram_disk_rd -> 00000001H - 1
ram_disk_rd -> 00000002H - 1
ram_disk_rd -> 00000003H - 1
ram_disk_rd -> 00000004H - 1
ram_disk_rd -> 00000005H - 1
ram_disk_rd -> 00000006H - 1
ram_disk_rd -> 00000007H - 1
ram_disk_rd -> 00000008H - 1
ram_disk_rd -> 00000009H - 1
ram_disk_rd -> 0000000AH - 1
ram_disk_rd -> 0000000BH - 1
ram_disk_rd -> 0000000CH - 1
ram_disk_rd -> 0000000DH - 1
ram_disk_rd -> 0000000EH - 1
ram_disk_rd -> 0000000FH - 1
ram_disk_rd -> 00000010H - 1
ram_disk_rd -> 00000011H - 1
ram_disk_rd -> 00000012H - 1
ram_disk_rd -> 00000013H - 1
ram_disk_rd -> 00000014H - 1
ram_disk_rd -> 00000015H - 1
ram_disk_rd -> 00000016H - 1
ram_disk_rd -> 00000017H - 1
ram_disk_rd -> 00000018H - 1
ram_disk_rd -> 00000019H - 1
ram_disk_rd -> 0000001AH - 1
ram_disk_rd -> 0000001BH - 1
ram_disk_rd -> 0000001CH - 1
ram_disk_rd -> 0000001DH - 1
ram_disk_rd -> 0000001EH - 1
ram_disk_rd -> 0000001FH - 1
ram_disk_rd -> 00000020H - 1
Init. Frequency is 200000Hz
In idle
In SD ready
End id
RCA=0x8f39
SD Frequency is 25000000Hz
In stand-by
Set SDI 4bit Bus.
SD Card Init OK!
RegisterDrive -> 1 - 'SD Card'
BytesPerSector    ->512
SectorsPerCluster ->32
TotalClusters   ->51136
disk->get_sector_size=512
#### -> fmt=0 -512,512
f_mount -> 1 - 0
=============================================
停在这里,再也不干活了!


如果BSP.C 修改如下:
void        arch_RegisterDrive(void)
{
        RegisterDrive(0,(void*)ram_disk_entry());       
        RegisterDrive(1,(void*)sd_disk_entry());      
       
//        RegisterDrive(2,(void*)nand_disk_entry());          
       
//        USB_MassStorage();                           
               
}
则可以进入显示界面。

tangnyzl 发表于 2011-8-17 14:17:57

回复【49楼】tangnyzl
老大,不用忙了,不开源的东西,没人敢用在项目上,要研究,开源的太多了
-----------------------------------------------------------------------


兄弟,我相信你也不可能把宝压在一个没有源码的系统上,特别是嵌入式系统,当然,大公司的除外,个人意见,不要谩骂

liuweiele 发表于 2011-8-17 14:40:02

回复【56楼】apple_01
-----------------------------------------------------------------------

不要在 arch_RegisterDrive 中调用 USB_MassStorage();   

这个是我在调试BSP驱动时遗留下来的,忘记删除了...

apple_01 发表于 2011-8-17 15:39:01

1、 注释了 USB_MassStorage(); 结果还是一样,停在上面说的地方,不动了。
2、 还是回到没有使用nand_flash的程序,界面出来后,点 “运行”,按钮陷下去了,但没有任何东西出来(在SD卡的APP文件夹有hello world.app),
    串口输出坐标信息。


NND,ADS真难用,难怪被ARM放弃了。还是Keil舒服,可以在IDE里使用H-JTAG进行调试。

liuweiele 发表于 2011-8-17 16:52:54

回复【59楼】apple_01
-----------------------------------------------------------------------
点"运行"后,弹出的列表中有没有显示应用程序清单 ?

新版操作系统的"系统调用"有变动,有些旧的应用程序可能不能运行,你需要下载最新的SDK,把原来的应用程序重新编译一下,就能运行了.

apple_01 发表于 2011-8-17 17:28:47

使用了最新的SDK编译的。

点"运行"后,按钮陷下去,但没有弹出列表,而且就那么一直陷着。

liuweiele 发表于 2011-8-17 17:44:11

回复【61楼】apple_01
-----------------------------------------------------------------------

把SD目录和显示界面发来看看

liuweiele 发表于 2011-8-17 17:46:16

在 S3C2450 上 NandFlash / SD卡 混合使用的例子:

http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_668557MBTQ26.JPG
(原文件名:P8172208.JPG)

http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_668558NJK2JG.jpg
(原文件名:005.jpg)

http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_668559OUDYBZ.jpg
(原文件名:006.jpg)

apple_01 发表于 2011-8-17 17:58:06

http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_668561CW8I43.JPG
SD卡 (原文件名:err_3.JPG)

http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_668562R9VQX4.JPG
显示界面 (原文件名:err_4.JPG)

apple_01 发表于 2011-8-17 18:00:42

http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_668564CFBL43.JPG
SD卡 (原文件名:err_5.JPG)

apple_01 发表于 2011-8-17 18:01:52

http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_668565WNCJSR.JPG
SD卡 (原文件名:err_6.JPG)

apple_01 发表于 2011-8-17 18:03:28

另外 micro2440 的 nand flash 为 K9F1G08

liuweiele 发表于 2011-8-17 18:04:54

回复【65楼】apple_01
-----------------------------------------------------------------------

点"运行"后,程序列表中有没有 HelloWorld.app ?

bingshuihuo888 发表于 2011-8-17 20:05:08

Mark!

liuweiele 发表于 2011-8-17 20:55:17

回复【67楼】apple_01
另外 micro2440 的 nand flash 为 k9f1g08
-----------------------------------------------------------------------

我的板子上的NandFlash是 K9F1208U, 你要按你实际的硬件来编写NandFlash驱动;
或者,你可以暂时屏蔽掉NandFlash(不要注_册NandFlash驱动),先用SD卡.

apple_01 发表于 2011-8-18 00:56:23

前面的现象是在以下条件出现的:
1、nandFlash.C那里已经改了define (只改动了1处地方),否则是无法出现显示界面的 (是否这样?)
2、已经屏蔽NandFlash,否则就不会出现显示的界面了 (这里应该有问题)
3、肯定是使用SD卡,因为那个背景图是在SD卡里的
=========================================================================
点"运行"后,没有“程序列表”的出现,当然也没有 HelloWorld.app ;

刚初始化完毕的界面 和 点"运行"后的界面唯一的区别是: “运行”按钮陷下去了。

liuweiele 发表于 2011-8-18 01:17:16

回复【71楼】apple_01
-----------------------------------------------------------------------

这个2440 BSP是丛 2450 BSP 的基础上修改过来的,NandFlash驱动部分还没有改过来,
主要是NandFlash控制器初始化代码那个函数,你要按 S3C2440 NFC 来修改一下.

apple_01 发表于 2011-8-18 01:28:40

NandFlash控制器初始化代码那个函数,如果有问题,能不能出来初始化完毕的界面?

liuweiele 发表于 2011-8-18 01:28:44

回复【71楼】apple_01
-----------------------------------------------------------------------

屏蔽NandFlash后,点"运行"后,也没有出现“程序列表”?

你把丛 系统上电启动 到点 "运行" 时串口输出的信息发来看看.

liuweiele 发表于 2011-8-18 01:40:59

回复【73楼】apple_01
-----------------------------------------------------------------------

如果你注_册了NandFlash驱动,可能会造成无法启动,因为那个是 2450的NandFlash驱动...
是不能直接用在2440上的,会导致NandFlash控制器无法正常工作,例如,在NandFlash读写
过程中,会一直停在 NF_Wait 循环中.

////////////////

点击"运行"时,操作系统会自动扫描已注_册的所有磁盘上的 .app 文件,并显示到
"程序列表"上.

如果已注_册的磁盘驱动不能正常工作,而磁盘驱动程序中又没有作错误处理,将有可能
导致系统无法正常运行.

apple_01 发表于 2011-8-18 09:18:47

过程信息如下:
********************************************
* RO 80000000H - 80088E50H; Size: 560720
* RW 80088E50H - 80548ABCH; Size: 4979820
* ZI 80088EB4H - 80548ABCH; Szie: 4979720
*
********************************************
atoi=805320676,atoi=805320672,strlen=4
abs=-1234,1234

0000_0000:3F 00 00 EA 12 00 00 EA 17 00 00 EA 22 00 00 EA
0000_0010:1B 00 00 EA FE FF FF EA 07 00 00 EA 00 00 00 EA
0000_0020:B4 01 00 EA 04 D0 4D E2 01 00 2D E9 F4 05 9F E5
0000_0030:00 00 90 E5 04 00 8D E5 01 80 BD E8 04 D0 4D E2


******************************
*      System Startup      *
******************************
Version:0.0.1 (2011/07/09)
System Build Date: Jul 27 2011
System Build Time: 17:26:27
System Local Time: 2031-8-5 09:14:15
ProcessorInfo:
-> Family:ARM920T
-> String:S3C2440A-40
-> ID:      00002440
-> Clock:   400MHZ
KerelHeapInfo:
-> BaseAddr:82000000H
-> PageSize:128Byte
-> TotalSize: 32505855Byte
UserHeapInfo:
-> BaseAddr:81000000H
-> PageSize:1048576Byte
-> TotalSize: 16777215Byte
set_intr -> 8 - -7FFF8BACH
CreateThread -> 82000300H,255
CreateThread -> 82000780H,254
CreateThread -> 82004A00H,16
OS Core Startup
####
OSStatInit
OSIdleCounterMax =2699094
Kernel_API_Entry: 8004CD38H

FFFE_4000:33 C4 05 44 B1 1C 32 EC 23 84 33 4F 23 CC 21 98
FFFE_4010:04 F0 1F E5 4C 17 01 80 01 04 00 00 00 00 00 00
kernel_api_init
ram_disk_addr_base =80800000H
RegisterDrive -> 0 - 'RAM Disk'
disk->get_sector_size=512
disk->get_sector_size=512
ram_disk_rd -> 00000000H - 1
#### -> fmt=0 -512,512
f_mount -> 0 - 0
ram_disk_rd -> 00000001H - 1
ram_disk_rd -> 00000002H - 1
ram_disk_rd -> 00000003H - 1
ram_disk_rd -> 00000004H - 1
ram_disk_rd -> 00000005H - 1
ram_disk_rd -> 00000006H - 1
ram_disk_rd -> 00000007H - 1
ram_disk_rd -> 00000008H - 1
ram_disk_rd -> 00000009H - 1
ram_disk_rd -> 0000000AH - 1
ram_disk_rd -> 0000000BH - 1
ram_disk_rd -> 0000000CH - 1
ram_disk_rd -> 0000000DH - 1
ram_disk_rd -> 0000000EH - 1
ram_disk_rd -> 0000000FH - 1
ram_disk_rd -> 00000010H - 1
ram_disk_rd -> 00000011H - 1
ram_disk_rd -> 00000012H - 1
ram_disk_rd -> 00000013H - 1
ram_disk_rd -> 00000014H - 1
ram_disk_rd -> 00000015H - 1
ram_disk_rd -> 00000016H - 1
ram_disk_rd -> 00000017H - 1
ram_disk_rd -> 00000018H - 1
ram_disk_rd -> 00000019H - 1
ram_disk_rd -> 0000001AH - 1
ram_disk_rd -> 0000001BH - 1
ram_disk_rd -> 0000001CH - 1
ram_disk_rd -> 0000001DH - 1
ram_disk_rd -> 0000001EH - 1
ram_disk_rd -> 0000001FH - 1
ram_disk_rd -> 00000020H - 1
Init. Frequency is 200000Hz
In idle
In SD ready
End id
RCA=0x8f39
SD Frequency is 25000000Hz
In stand-by
Set SDI 4bit Bus.
SD Card Init OK!
RegisterDrive -> 1 - 'SD Card'
BytesPerSector    ->512
SectorsPerCluster ->32
TotalClusters   ->51136
disk->get_sector_size=512
#### -> fmt=0 -512,512
f_mount -> 1 - 0

***********************
****    fs info    ****
***********************
drive:      0
fs_type:    FAT16
c_size:   2
s_size:   512
n_fats:   1
wflag:      0
id:         1
n_rootdir:512
sects_fat:33
n_fatent:   8160
free_clust: 8158
fat_base:   1
dir_base:   34
data_base:66
***********************
TotalSize: 8322048 Byte
FreeSize:8353792 Byte
**********************

***********************
****    fs info    ****
***********************
drive:      1
fs_type:    FAT16
c_size:   32
s_size:   512
n_fats:   2
wflag:      0
id:         2
n_rootdir:512
sects_fat:127
n_fatent:   30226
free_clust: 26245
fat_base:   226
dir_base:   480
data_base:512
***********************
TotalSize: 494960640 Byte
FreeSize:429998080 Byte
**********************
RegisterDevice -> 'COM1'
ALCO_Dev_PowerUp
RegisterDevice -> 'ALCO'
RegisterDevice -> 'COIN_SELECTOR'
GUI_Init
GWIS_API_Entry: 8004B9F8H

FFFE_8000:33 CC 77 96 B3 9E 13 EC 23 85 52 4D 11 DC 20 0D
FFFE_8010:31 6C 3B F7 03 CC B0 DE A0 4C 83 8E 92 C0 A1 96
gwis_api_init
LCDInit End(800x600,16bpp)
ScreenWidth=800;ScrHeigh=600;Bpp=16
GUI_Font Init OK!
GUI_Resource_Init!
SetWallpaper -> 'B:\kernel\res\desktop.jpg'
GUI_Timer_Init!
GUI_Window_Init!
RegisterClass -> 'button' - 00000000H
RegisterClass -> 'static' - 00000000H
RegisterClass -> 'edit' - 00000000H
RegisterClass -> 'scrollbar' - 00000000H
RegisterClass -> 'listbox' - 00000000H
RegisterClass -> 'imagebox' - 00000000H
RegisterClass -> 'toolbar' - 00000000H
CreateThread -> 820F0F00H,128

0000_0000:8D 3F 82 0C 57 09 9D 03 54 09 A7 03 3E 06 96 0C
0000_0010:48 06 00 00 00 00 00 00 80 80 00 00 00 00 01 00
TouchScreen XY Ref=RightDown.
TS_LUAddata =3202, 2391
TS_RUAddata =925, 2388
TS_RDAddata =935, 1598
TS_LDAddata =3222, 1608
TS_XYSwap   =0
ts_org=2
CreateThread -> 820F2180H,200
CreateThread -> 820F6400H,128
CreateThread -> 820F7680H,128
MultiMedia_API_Entry: 8004D3C8H

FFFE_C000:04 F0 1F E5 50 29 03 80 00 0C 00 00 00 00 00 00
FFFE_C010:04 F0 1F E5 54 29 03 80 01 0C 00 00 00 00 00 00
multimedia_api_init
CreateThread -> 820FB900H,128
CreateThread -> 820FCB80H,129
CreateThread -> 820FDE00H,130

apple_01 发表于 2011-8-18 09:19:33

续:

CreateThread -> 820FF080H,131
CreateThread -> 82107300H,2
CreateThread -> 82108580H,133
CreateThread -> 82109800H,134
CreateThread -> 8210AA80H,135
CreateThread -> 8210BD00H,136
CreateThread -> 8210CF80H,137
CreateThread -> 8210E200H,138
DestroyThread! - 820FDE00H
DestroyThread! - 82108580H
DestroyThread! - 82109800H
DestroyThread! - 8210AA80H
DestroyThread! - 8210BD00H
DestroyThread! - 8210CF80H
TouchPanel Thread Startup!
Desktop -> WM_ERASEBKGND - 0,0,800,600
GUI_Desktop Start!
Desktop->pMsgQ=820FCF80H
SetTimer -> 820FD380H - 500
DestroyThread! - 820FF080H
SetTimer -> 820FEB00H - 300
DestroyThread! - 820FCB80H

**************************
****   Main Menu    ****
**************************
Select Function(0~5):
. USB MassStoeage
. GUI Demo
. TouchScreen Calibrate
. FS Test
. TCB View
. Custom

->:ts_down:917,1214
Desktop -> WM_LBUTTONDOWN - 917,1214
# lbtn_up - 'Desktop' - 917,1214               ----> 这里按下"运行", 但界面没有任何东西出来
Desktop -> WM_LBUTTONUP - 917,1214

liuweiele 发表于 2011-8-18 09:55:24

回复【77楼】apple_01
-----------------------------------------------------------------------

->:ts_down:917,1214
Desktop -> WM_LBUTTONDOWN - 917,1214
# lbtn_up - 'Desktop' - 917,1214               ----> 这里按下"运行", 但界面没有任何东西出来
Desktop -> WM_LBUTTONUP - 917,1214

????????????????

丛这些坐标来看,你点击"运行"按钮,而坐标却落在桌面(Desktop)上,这是因为你没有校正触摸屏,所以根本没有点到"运行"按钮上;
不同尺寸/分辨率的LCD的触摸屏,需要重新校正一次,才能正常使用.

校正触摸屏方法如下:
上电开机时,一直长按触摸屏,只到出现"触摸屏校正"界面...

liuweiele 发表于 2011-8-18 10:24:48

正常点击"运行"按钮时,输出的调试信息应该类似如下:

ts_down:41,307               ->按下触摸屏时,在屏幕上的位置,这个坐标是落在"运行"按钮在屏幕上的矩形范围内,
                                 不同尺寸的LCD/TS,这个坐标会不同
# lbtn_up - '运行' - 38,10   ->触摸屏按下,抬起时的位置在"运行"按钮上,客户坐标为: 38,10

CreateThread -> 830A7800H,200->动态创建一个线程,这个线程中运行了"程序列表"窗口;于是,桌面上出现"程序列表"界面...

apple_01 发表于 2011-8-18 10:46:35

按照楼主的方法,"程序列表"出来了。
================================
问题:hello world 工程无法make 成功。
make 的错误,以及ADS里的设置:
http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_668719ZGMV0M.JPG
(原文件名:err_7.JPG)

http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_668720HKCRZ9.JPG
(原文件名:err_8.JPG)

http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_668721VAKV3B.JPG
(原文件名:err_9.JPG)

============

hello world 的参考:
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4760379&bbs_page_no=1&search_mode=3&search_text=liuweiele&bbs_id=1032
新版SDK:
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4907057&bbs_page_no=1&search_mode=4&search_text=liuweiele&bbs_id=9999

========================
另外,用 友善 的bootloader +DNW ,只能将操作系统放在RAM里,无法放到nandflash里,
DNW的download address 分别设置为: 0x30000000 ; 0x80000000; 0x0 都只能下到RAM,一断电,系统就没有了

liuweiele 发表于 2011-8-18 11:01:35

回复【80楼】apple_01
-----------------------------------------------------------------------

你更新到新版的SDK? 如果没有,更新到最新版SDK:

点击此处下载 ourdev_668723QHVA48.rar(文件大小:37K) (原文件名:SDK.rar)

另外,新版的应用程序中,已经不需sdkInit.c这个文件,而改用__App_Main.cpp ...
这里是新版的应用程序模板,所有东西都已经设置好了,可以直接使用:

点击此处下载 ourdev_668724S9O7W4.rar(文件大小:171K) (原文件名:AppTemplet.rar)

apple_01 发表于 2011-8-18 11:05:01

建议楼主建立版本号,不然,真不知道哪个是最新的。

apple_01 发表于 2011-8-18 11:35:42

好了,hello world 出来了!

楼主创意很好! 做到这一步,应该是超出简单的“操作系统”,直接提供了 “操作系统平台”!
继续发展下去,可以和wince媲美了。 ./emotion/em021.gif

apple_01 发表于 2011-8-18 12:09:52

楼主,InfoNES 的源码是不是也要重新修改哪里?
我把源码修改后,complie 通过了,make 就出错了:

http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_668759KW7T1T.JPG
(原文件名:err_10.JPG)

liuweiele 发表于 2011-8-18 12:37:33

回复【84楼】apple_01
-----------------------------------------------------------------------
为了尽可能接近 WINCE API,新版系统取消了GetTicksPerSecond 这个API,
使 GetTickCount 这个 API 完全和 WIN32的 API 兼容.

你用这个最新的InfoNES.
点击此处下载 ourdev_668776N72AN8.rar(文件大小:324K) (原文件名:InfoNES.rar)

rigol_fan 发表于 2011-8-18 13:14:20

liuweiele 发表于 2011-8-18 14:14:35

回复【80楼】apple_01
-----------------------------------------------------------------------

========================
另外,用 友善 的bootloader +DNW ,只能将操作系统放在RAM里,无法放到nandflash里,
DNW的download address 分别设置为: 0x30000000 ; 0x80000000; 0x0 都只能下到RAM,一断电,系统就没有了


/////////////////////////////

如果你的NandFlash是 K9F1208U,你可以直接把 操作系统映像文件 烧录到K9F1208U 的起始地址处,
并S3C2440设置成 NandFlash 启动方式,上电后便可自动启动该系统.

如果是其它型号的Flash,你可以参考几个方法实现:

1. 按实际的NandFlash型号,修改s3c2440_init.s中的NandFlash启动代码.
2. 使用第三方boot程序,boot程序只要把 操作系统映像 加载到 0x30000000 处运行便可.
3. 修改s3c2440_init.s,操作系统映像烧录到NorFlash,使用NorFlash方式启动.

apple_01 发表于 2011-8-18 14:40:42

楼主,下面的附件是将LCD参数单独提取到一个头文件里,修改参数方便点。
在以后的系统升级,也采用这种方式最好。
LCD头文件,设置相关参数ourdev_668808CCMKK1.zip(文件大小:1K) (原文件名:LCD.zip)
LCD相关函数ourdev_668809N4RNE8.zip(文件大小:7K) (原文件名:GUI_GDev.zip)

liuweiele 发表于 2011-8-18 14:52:52

回复【82楼】apple_01
建议楼主建立版本号,不然,真不知道哪个是最新的。
-----------------------------------------------------------------------

是的,目前公布的版本还只是小试牛刀,有些东西还不够规范,甚至连系统的正式命名也没有,
这些东西在后续版本中会逐步"正规化".

liuweiele 发表于 2011-8-18 15:23:58

再上传一个 "数码相册" 的工程源码,支持 jpg,bmp 格式图片, 以及 14种 随机动画特效.

在系统 B盘 根目录下,建立一个 Image 文件夹,把 jpg,bmp图片 复制 到 该文件夹 中就可以了,可以 支持多级目录

为节省内存,源码中限制了 图片分辨率 不要高于1600x1200,用户也可以 解除这个限制.

点击此处下载 ourdev_668812JTU4P3.rar(文件大小:14K) (原文件名:ImageView.rar)

http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_668814KHYY12.jpg
(原文件名:未命名2.jpg)

http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_668815CV9EP8.jpg
(原文件名:未命名3.jpg)

http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_668817CLLRZA.JPG
(原文件名:005.JPG)

logic.pn 发表于 2011-8-18 15:31:17

mark

apple_01 发表于 2011-8-18 16:19:19

楼主太给力了!!! ./emotion/em174.gif

liuweiele 发表于 2011-8-18 16:31:33

回复【92楼】apple_01
楼主太给力了!!! ./emotion/em174.gif
-----------------------------------------------------------------------

InfoNES 可以运行了? 其实你可以再加上键盘驱动,这样就能实际操作游戏运行了.
不知在800x600分辨率的LCD上,S3C2440运行InfoNES全屏帧速可以达到多少?

apple_01 发表于 2011-8-18 17:23:49

回复【93楼】liuweieleLiuwei
-----------------------------------------------------------------------

能运行,不过是出来一个框,只有 "增加 Form" 有窗口出来,其它的按钮没有动静,
显示: Fxs=23 xxx

感觉触模屏那里响应比较慢。
=====================================
数码像框运行得非常好!
=====================================
另外, S3C2440_init.s 能用 友善的 2440_init.s 整个替代吗?

domi 发表于 2011-8-18 17:29:40

这个也太强了吧。。。。

liuweiele 发表于 2011-8-18 17:58:50

回复【94楼】apple_01
-----------------------------------------------------------------------

把InfoNES界面发来看看.

不能直接用友善的 2440_init.s 整个替代,你只要把NandFlash启动部分复制过来就可以了.

liuweiele 发表于 2011-8-18 18:05:09

回复【96楼】liuweiele Liuwei
-----------------------------------------------------------------------

你要在InfoNES.app同一级目录下,建一个名为:"ROM" 的文件夹,把NES文件放在这个目录里.
这样,你要点击"加载ROM"按钮时,才会显示出NES ROM文件.


目录可以是这样:

InfoNES
|
--- InfoNES.app
|
--- ROM
       |
       --- *.NES

apple_01 发表于 2011-8-18 18:12:52

知道怎么回事了:要建立下级目录 ROM。
已经运行了,全屏的时候,帧速:最大 16帧/秒

把NandFlash启动部分直接复制过来也不行,还有不知道哪里的相关设置。

liuweiele 发表于 2011-8-18 19:17:34

回复【98楼】apple_01
知道怎么回事了:要建立下级目录 rom。
已经运行了,全屏的时候,帧速:最大 16帧/秒
把nandflash启动部分直接复制过来也不行,还有不知道哪里的相关设置。
-----------------------------------------------------------------------

1600万色模式 还是 65K色模式 ? 65K色模式,性能会高一些,以2440的性能,800x600,24bpp,有点勉强.
在S3C2450上, 800x480,24bpp,InfoNES全屏帧速为 27fps

你把你的板子原来的NandFlash启动代码发来,我帮你修改一下.
页: [1] 2 3
查看完整版本: 基于ARM的 多进程操作系统 -- 最新移植到S3C2440 -- 2440BSP源码公布