基于ARM的 多进程操作系统 -- 最新移植到S3C2440 -- 2440BSP源码公布
经过两天的努力,终于完成了 S3C2440 BSP移植,并实际在 GEC2440 和 MINI2440上运行成功;应用程序的二进制代码和源码都和 S3C6410 是100%兼容的,
之前在6410上的应用程序,无需重新编译,便可直接在2440上运行,这也实际验证了应用程序与硬件无关性...
操作系统内核 + 2440BSP 工程源码:
点击此处下载 ourdev_653916OOJN14.rar(文件大小:8.27M) (原文件名:S3C2440_System.rar) 不错,下下来看看,楼主,有没有个中文说明啊?
手头有6410的板子,但是不知道如何入门,哪里有详细的教程不? SDK 和 6410版共用:
这个版本的内核有更新,ADS SDK的头文件 Kernel.h 用BSP目录下的Kernel.h更新一下.
用户移植到其它 2440平台,只要修改一下 LCD 和 Flash参数,重新编译后,
把生成的 Bin文件烧录到 NandFlash 或 下载到 2440 SDRAM 0x30000000 就可以运行该系统;
另外,用户也可以自行在BSP中添加自己的设备驱动... 回复【1楼】flyforyou85
不错,下下来看看,楼主,有没有个中文说明啊?
手头有6410的板子,但是不知道如何入门,哪里有详细的教程不?
-----------------------------------------------------------------------
你是问 应用程序开发说明 还是 系统移植说明 ? 在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) lz,您的SDK说明有吗?找你以前的贴子没有找到。
lz是研究所的吧。。。。。。。国立研究所应该做不到这种程度,难道是个人的????
lz的系统已经独立一家了。。。。。 http://cache.amobbs.com/bbs_upload782111/files_42/ourdev_653939DBPDZ1.JPG
(原文件名:DSC_3594.JPG) 回复【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 回复【5楼】hzr0071
lz,您的sdk说明有吗?找你以前的贴子没有找到。
lz是研究所的吧。。。。。。。国立研究所应该做不到这种程度,难道是个人的????
lz的系统已经独立一家了。。。。。
-----------------------------------------------------------------------
目前只是 "个人研究" ~~~~~~ 在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) mark~ mark mark 要标记下 好东西 ding 后续将公布 基于ARM926EJ-S 的 S3C2416 / S3C2450 BSP 源码... 高手啊 不明白的是楼主的操作系统能介绍一下吗?
为何游戏也能运行在你的操作系统下,也是linux吗? Mark! mark 楼主的操作系统有个名字么?
就叫多进程操作系统撒? 回复【20楼】jaylondon
楼主的操作系统有个名字么?
就叫多进程操作系统撒?
-----------------------------------------------------------------------
还没确定叫什么名字~~~ 回复【17楼】ggg12345
不明白的是楼主的操作系统能介绍一下吗?
为何游戏也能运行在你的操作系统下,也是linux吗?
-----------------------------------------------------------------------
操作系统组成: 多进程/多线程OS内核 + 设备管理器 + GUI + FS
应用程序独立编译,动态加载运行;
在CPU 指令兼容的情况下,应用程序可以跨平台运行.
目前,提供约400多个API供用户使用,其中约80%的API是和 win32API 兼容的;
这些游戏演示是丛windows VC上移植过来的. "在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可执行文件. S3C2416 / S3C2450 BSP源码已公布:
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4858649&bbs_id=9999 楼主啊 渴望您的联系方式,想拜您为师,就收了徒弟吧! 资源: 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
->: 回复【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 系统文件复制到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卡才行? 回复【28楼】apple_01
-----------------------------------------------------------------------
低试试这个 SD 驱动:
点击此处下载 ourdev_667882LYQ3Z7.rar(文件大小:5K) (原文件名:SDI.rar) 替换原来的 ./BSP/drives/SDI/SDI.c 再适当降低 SDI时钟 mark 多谢楼主指点.
不过,那个替换的SDI.C 文件有问题:
http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_668156FOEQC0.JPG
新的SDI.C文件编译出错 (原文件名:err1.JPG) 用原来的SDI.C,换一张SD卡(1G)就出来界面了。
好象说三星的SD驱动还分大小容量的,麻烦,不知道是否还挑牌子。
建议搂主把kernel放到flash里,省得到处找SD卡,kernel也就4M多一点点大,放到flash完全无问题。 你用这个代替,注释掉了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 回复【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 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 那里, 很多被注释的,去掉注释后,仍然有错误,编译过不去。 搂主,提个小建议, *.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 回复【37楼】apple_01
-----------------------------------------------------------------------
截个图来看看. http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_668220TIJ8GW.JPG
举手就是出错 (原文件名:err_2.JPG) ADS 软件真够呛的,不停打开新窗口,同类型的窗口竟然不停创建,被Keil 代替也是有理由的,
楼主,搞 keil MDK 版本的吧,我想休息一下点鼠标的手。 回复【38楼】apple_01
-----------------------------------------------------------------------
对于那些不需要被外部函数调用的"本地宏",我一般是直接在C文件中定义... 宏定义放在头文件中,查找和管理方便。
比如,现在要升级BSP,宏定义中的参数又得在C文件中继续深入查找、修改,升级越多,重复工作做得越多,
搞不好,C文件都被破坏了。 回复【41楼】apple_01
ads 软件真够呛的,不停打开新窗口,同类型的窗口竟然不停创建,被keil 代替也是有理由的,
楼主,搞 keil mdk 版本的吧,我想休息一下点鼠标的手。
-----------------------------------------------------------------------
原本是有 Keil MDK版的,后来发现 MDK由.scf生成的 RO,RW,ZI有"bug",所以就放弃了...
ADS其实也有很不已错,编译速度至少比MDK快3倍以上,这对"中大型"软件开发,是很有优势的. 回复【40楼】apple_01
-----------------------------------------------------------------------
你发的图片看不清楚, 我再发一个完整的工程,你修改一下LCD驱动就可以了:
点击此处下载 ourdev_668224SKI6JN.rar(文件大小:7.15M) (原文件名:S3C2440_System.rar) 利用下面2个文件,在keil中编译,下载到RAM运行正常,在norflash中也正常:
点击此处下载 ourdev_668234GYKH4H.pdf(文件大小:3.36M) (原文件名:RealView MDK 2440快速开发快速入门.pdf)
点击此处下载 ourdev_668235KKNVNF.rar(文件大小:192K) (原文件名:RealView MDK 2440快速开发入门工程文件.rar) http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_668240Z13OCI.JPG
换了刚下的,还是出错 (原文件名:err_2.JPG) 回复【47楼】apple_01
-----------------------------------------------------------------------
你找一下 USB_DrvLib.h 中有没有这几个宏定义 老大,不用忙了,不开源的东西,没人敢用在项目上,要研究,开源的太多了 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) 回复【49楼】tangnyzl
老大,不用忙了,不开源的东西,没人敢用在项目上,要研究,开源的太多了
-----------------------------------------------------------------------
能出来界面了。
不过,对比旧版,还是有问题。
旧版的屏幕地图是16色的彩色显示,新版的没有16色了,原来鲜艳的绿色,现在是紫色了,好象是8色? 还是单色?
只能在RAM里运行。 不知道怎么设置ADS达到下载nandflash目的。
to: 【49楼】 tangnyzl
楼主很给力了,应该给予支持。 回复【52楼】apple_01
能出来界面了。
不过,对比旧版,还是有问题。
旧版的屏幕地图是16色的彩色显示,新版的没有16色了,原来鲜艳的绿色,现在是紫色了,好象是8色? 还是单色?
to: 【49楼】 tangnyzl
楼主很给力了,应该给予支持。
-----------------------------------------------------------------------
在 GUI_GDev -> lcd_init 函数中,
将 #define INVVD(1) 改为 #define INVVD(0) 回复【52楼】apple_01
-----------------------------------------------------------------------
如果要把代码烧录到 NandFlash, 推荐使用 H-JTAG. H-JTAG烧写还可以,读芯片的信息那真是煎熬,可以说是人间最大的杯具。 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();
}
则可以进入显示界面。 回复【49楼】tangnyzl
老大,不用忙了,不开源的东西,没人敢用在项目上,要研究,开源的太多了
-----------------------------------------------------------------------
兄弟,我相信你也不可能把宝压在一个没有源码的系统上,特别是嵌入式系统,当然,大公司的除外,个人意见,不要谩骂 回复【56楼】apple_01
-----------------------------------------------------------------------
不要在 arch_RegisterDrive 中调用 USB_MassStorage();
这个是我在调试BSP驱动时遗留下来的,忘记删除了... 1、 注释了 USB_MassStorage(); 结果还是一样,停在上面说的地方,不动了。
2、 还是回到没有使用nand_flash的程序,界面出来后,点 “运行”,按钮陷下去了,但没有任何东西出来(在SD卡的APP文件夹有hello world.app),
串口输出坐标信息。
NND,ADS真难用,难怪被ARM放弃了。还是Keil舒服,可以在IDE里使用H-JTAG进行调试。 回复【59楼】apple_01
-----------------------------------------------------------------------
点"运行"后,弹出的列表中有没有显示应用程序清单 ?
新版操作系统的"系统调用"有变动,有些旧的应用程序可能不能运行,你需要下载最新的SDK,把原来的应用程序重新编译一下,就能运行了. 使用了最新的SDK编译的。
点"运行"后,按钮陷下去,但没有弹出列表,而且就那么一直陷着。 回复【61楼】apple_01
-----------------------------------------------------------------------
把SD目录和显示界面发来看看 在 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) 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) http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_668564CFBL43.JPG
SD卡 (原文件名:err_5.JPG) http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_668565WNCJSR.JPG
SD卡 (原文件名:err_6.JPG) 另外 micro2440 的 nand flash 为 K9F1G08 回复【65楼】apple_01
-----------------------------------------------------------------------
点"运行"后,程序列表中有没有 HelloWorld.app ? Mark! 回复【67楼】apple_01
另外 micro2440 的 nand flash 为 k9f1g08
-----------------------------------------------------------------------
我的板子上的NandFlash是 K9F1208U, 你要按你实际的硬件来编写NandFlash驱动;
或者,你可以暂时屏蔽掉NandFlash(不要注_册NandFlash驱动),先用SD卡. 前面的现象是在以下条件出现的:
1、nandFlash.C那里已经改了define (只改动了1处地方),否则是无法出现显示界面的 (是否这样?)
2、已经屏蔽NandFlash,否则就不会出现显示的界面了 (这里应该有问题)
3、肯定是使用SD卡,因为那个背景图是在SD卡里的
=========================================================================
点"运行"后,没有“程序列表”的出现,当然也没有 HelloWorld.app ;
刚初始化完毕的界面 和 点"运行"后的界面唯一的区别是: “运行”按钮陷下去了。 回复【71楼】apple_01
-----------------------------------------------------------------------
这个2440 BSP是丛 2450 BSP 的基础上修改过来的,NandFlash驱动部分还没有改过来,
主要是NandFlash控制器初始化代码那个函数,你要按 S3C2440 NFC 来修改一下. NandFlash控制器初始化代码那个函数,如果有问题,能不能出来初始化完毕的界面? 回复【71楼】apple_01
-----------------------------------------------------------------------
屏蔽NandFlash后,点"运行"后,也没有出现“程序列表”?
你把丛 系统上电启动 到点 "运行" 时串口输出的信息发来看看. 回复【73楼】apple_01
-----------------------------------------------------------------------
如果你注_册了NandFlash驱动,可能会造成无法启动,因为那个是 2450的NandFlash驱动...
是不能直接用在2440上的,会导致NandFlash控制器无法正常工作,例如,在NandFlash读写
过程中,会一直停在 NF_Wait 循环中.
////////////////
点击"运行"时,操作系统会自动扫描已注_册的所有磁盘上的 .app 文件,并显示到
"程序列表"上.
如果已注_册的磁盘驱动不能正常工作,而磁盘驱动程序中又没有作错误处理,将有可能
导致系统无法正常运行. 过程信息如下:
********************************************
* 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 续:
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 回复【77楼】apple_01
-----------------------------------------------------------------------
->:ts_down:917,1214
Desktop -> WM_LBUTTONDOWN - 917,1214
# lbtn_up - 'Desktop' - 917,1214 ----> 这里按下"运行", 但界面没有任何东西出来
Desktop -> WM_LBUTTONUP - 917,1214
????????????????
丛这些坐标来看,你点击"运行"按钮,而坐标却落在桌面(Desktop)上,这是因为你没有校正触摸屏,所以根本没有点到"运行"按钮上;
不同尺寸/分辨率的LCD的触摸屏,需要重新校正一次,才能正常使用.
校正触摸屏方法如下:
上电开机时,一直长按触摸屏,只到出现"触摸屏校正"界面... 正常点击"运行"按钮时,输出的调试信息应该类似如下:
ts_down:41,307 ->按下触摸屏时,在屏幕上的位置,这个坐标是落在"运行"按钮在屏幕上的矩形范围内,
不同尺寸的LCD/TS,这个坐标会不同
# lbtn_up - '运行' - 38,10 ->触摸屏按下,抬起时的位置在"运行"按钮上,客户坐标为: 38,10
CreateThread -> 830A7800H,200->动态创建一个线程,这个线程中运行了"程序列表"窗口;于是,桌面上出现"程序列表"界面... 按照楼主的方法,"程序列表"出来了。
================================
问题: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,一断电,系统就没有了 回复【80楼】apple_01
-----------------------------------------------------------------------
你更新到新版的SDK? 如果没有,更新到最新版SDK:
点击此处下载 ourdev_668723QHVA48.rar(文件大小:37K) (原文件名:SDK.rar)
另外,新版的应用程序中,已经不需sdkInit.c这个文件,而改用__App_Main.cpp ...
这里是新版的应用程序模板,所有东西都已经设置好了,可以直接使用:
点击此处下载 ourdev_668724S9O7W4.rar(文件大小:171K) (原文件名:AppTemplet.rar) 建议楼主建立版本号,不然,真不知道哪个是最新的。 好了,hello world 出来了!
楼主创意很好! 做到这一步,应该是超出简单的“操作系统”,直接提供了 “操作系统平台”!
继续发展下去,可以和wince媲美了。 ./emotion/em021.gif 楼主,InfoNES 的源码是不是也要重新修改哪里?
我把源码修改后,complie 通过了,make 就出错了:
http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_668759KW7T1T.JPG
(原文件名:err_10.JPG) 回复【84楼】apple_01
-----------------------------------------------------------------------
为了尽可能接近 WINCE API,新版系统取消了GetTicksPerSecond 这个API,
使 GetTickCount 这个 API 完全和 WIN32的 API 兼容.
你用这个最新的InfoNES.
点击此处下载 ourdev_668776N72AN8.rar(文件大小:324K) (原文件名:InfoNES.rar) 顶 回复【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方式启动. 楼主,下面的附件是将LCD参数单独提取到一个头文件里,修改参数方便点。
在以后的系统升级,也采用这种方式最好。
LCD头文件,设置相关参数ourdev_668808CCMKK1.zip(文件大小:1K) (原文件名:LCD.zip)
LCD相关函数ourdev_668809N4RNE8.zip(文件大小:7K) (原文件名:GUI_GDev.zip) 回复【82楼】apple_01
建议楼主建立版本号,不然,真不知道哪个是最新的。
-----------------------------------------------------------------------
是的,目前公布的版本还只是小试牛刀,有些东西还不够规范,甚至连系统的正式命名也没有,
这些东西在后续版本中会逐步"正规化". 再上传一个 "数码相册" 的工程源码,支持 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) mark 楼主太给力了!!! ./emotion/em174.gif 回复【92楼】apple_01
楼主太给力了!!! ./emotion/em174.gif
-----------------------------------------------------------------------
InfoNES 可以运行了? 其实你可以再加上键盘驱动,这样就能实际操作游戏运行了.
不知在800x600分辨率的LCD上,S3C2440运行InfoNES全屏帧速可以达到多少? 回复【93楼】liuweieleLiuwei
-----------------------------------------------------------------------
能运行,不过是出来一个框,只有 "增加 Form" 有窗口出来,其它的按钮没有动静,
显示: Fxs=23 xxx
感觉触模屏那里响应比较慢。
=====================================
数码像框运行得非常好!
=====================================
另外, S3C2440_init.s 能用 友善的 2440_init.s 整个替代吗? 这个也太强了吧。。。。 回复【94楼】apple_01
-----------------------------------------------------------------------
把InfoNES界面发来看看.
不能直接用友善的 2440_init.s 整个替代,你只要把NandFlash启动部分复制过来就可以了. 回复【96楼】liuweiele Liuwei
-----------------------------------------------------------------------
你要在InfoNES.app同一级目录下,建一个名为:"ROM" 的文件夹,把NES文件放在这个目录里.
这样,你要点击"加载ROM"按钮时,才会显示出NES ROM文件.
目录可以是这样:
InfoNES
|
--- InfoNES.app
|
--- ROM
|
--- *.NES 知道怎么回事了:要建立下级目录 ROM。
已经运行了,全屏的时候,帧速:最大 16帧/秒
把NandFlash启动部分直接复制过来也不行,还有不知道哪里的相关设置。 回复【98楼】apple_01
知道怎么回事了:要建立下级目录 rom。
已经运行了,全屏的时候,帧速:最大 16帧/秒
把nandflash启动部分直接复制过来也不行,还有不知道哪里的相关设置。
-----------------------------------------------------------------------
1600万色模式 还是 65K色模式 ? 65K色模式,性能会高一些,以2440的性能,800x600,24bpp,有点勉强.
在S3C2450上, 800x480,24bpp,InfoNES全屏帧速为 27fps
你把你的板子原来的NandFlash启动代码发来,我帮你修改一下.