基于ARM的 多进程操作系统(S3C6410篇) -- 操作系统内核固化
操作系统简介:1.系统组成: OS内核 + GUI + FS
1.多进程+多线程,256个优先级,支持相同优先级线程;进程和线程数量无限制.每个进程使用独立的虚拟空间(0x8000_0000 ~ 0xFFEF_FFFF)
2.FAT12/FAT16/FAT32文件系统,支持多块读写.
3.基于类Win32消息机制;
4.高效的GDI,支持硬件加速
5.支持多窗口剪切
6.绘图缓冲机制,完全避免"刷屏闪烁"问题.
7.提供高效的块传输功能(支持光栅操作),BitBlt,StretchBlt,TransparentBlt,AlphaBlend,RotateBlt
8.集成(BMP),GIF,JPEG解码
9.支持控件子类化,超类化,用户自定义控件
10.应用程序无需和操作系统一起编译;应用程序通过"动态连接器"调用操作系统的API.
......
......
...... 以下是针对常用一些硬件规格而编译出的操作系统目标文件,可固化到FlashROM 或 直接到RAM运行(RAM方式运行地址为:0x50000000)
点击此处下载 ourdev_642331Y0Y3X8.rar(文件大小:194K) (原文件名:S3C6410_480272_NandFlash.rar)
点击此处下载 ourdev_642332E69UFL.rar(文件大小:193K) (原文件名:S3C6410_480272_NorFlash.rar)
点击此处下载 ourdev_642333M2T7Z2.rar(文件大小:194K) (原文件名:S3C6410_800480_NandFlash.rar)
点击此处下载 ourdev_642334F38VWG.rar(文件大小:195K) (原文件名:S3C6410_800480_NorFlash.rar) 如何固化或下载,请参考下面的帖子:
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4749501&bbs_page_no=1&search_mode=4&search_text=liuweiele&bbs_id=9999 目前,该操作系统使用的"系统文件"放在SD卡中;
下载该附件,解压到SD卡就可以了:
点击此处下载 ourdev_642336EFYE6J.rar(文件大小:1.74M) (原文件名:kernel.rar) 手头有一块OK6410,玩玩咯,谢谢LZ,早就知道LZ是高人....... 牛人一个 该系统上的一些应用程序,解压到SD卡任意位置便可:
点击此处下载 ourdev_642343EKX3BV.rar(文件大小:6.16M) (原文件名:apps.rar) 神人... kernel回复【3楼】liuweiele Liuwei
目前,该操作系统使用的"系统文件"放在sd卡中;
下载该附件,解压到sd卡就可以了:
-----------------------------------------------------------------------
补充一下:解压后,请把 kernel\drivers\ts_cfg.bin 这个文件删除; 这是一个触摸屏配置文件,不同的LCD分辨率,该文件数据不一样,
删除该文件后,系统启动后,会自动进入触摸屏校正程序,系统会自动重新配置该文件; 或者,系统上电时,一直长按触摸屏,直到出现触摸屏校正界面,重新校正便可. 完成触摸屏校正后,便进入了系统主界面;
http://cache.amobbs.com/bbs_upload782111/files_39/ourdev_642345VWSVP9.JPG
(原文件名:DSC_2872.JPG)
http://cache.amobbs.com/bbs_upload782111/files_39/ourdev_642346OWU7GG.JPG
(原文件名:DSC_2892.JPG)
http://cache.amobbs.com/bbs_upload782111/files_39/ourdev_642347MYOPXH.JPG
(原文件名:DSC_2902.JPG) 如何运行SD卡中的应用程序:
http://cache.amobbs.com/bbs_upload782111/files_39/ourdev_642357FFLEG8.JPG
(原文件名:7786.JPG) 同一应用程序在不同硬件平台上的运行实例:
http://cache.amobbs.com/bbs_upload782111/files_39/ourdev_642360DRETFG.JPG
(原文件名:DSC_2882.JPG)
http://cache.amobbs.com/bbs_upload782111/files_39/ourdev_642361RBSRRV.JPG
(原文件名:DSC_2885.JPG)
http://cache.amobbs.com/bbs_upload782111/files_39/ourdev_642362PKWHS1.JPG
(原文件名:DSC_2886.JPG)
http://cache.amobbs.com/bbs_upload782111/files_39/ourdev_642363PMO6YU.JPG
(原文件名:DSC_2887.JPG)
http://cache.amobbs.com/bbs_upload782111/files_39/ourdev_642364LUBVZX.JPG
(原文件名:DSC_2888.JPG) http://cache.amobbs.com/bbs_upload782111/files_39/ourdev_642365GOM543.JPG
(原文件名:DSC_2896.JPG)
http://cache.amobbs.com/bbs_upload782111/files_39/ourdev_642366EEGQ56.JPG
(原文件名:DSC_2897.JPG) http://cache.amobbs.com/bbs_upload782111/files_39/ourdev_642367MTPDNQ.JPG
(原文件名:DSC_2904.JPG)
http://cache.amobbs.com/bbs_upload782111/files_39/ourdev_642368LTDMW0.JPG
(原文件名:DSC_2906.JPG)
http://cache.amobbs.com/bbs_upload782111/files_39/ourdev_642369GGI1VS.JPG
(原文件名:DSC_2912.JPG)
http://cache.amobbs.com/bbs_upload782111/files_39/ourdev_642370HXVSLO.JPG
(原文件名:DSC_2913.JPG) 楼主每次出现都是这么惊艳! GDI块传输性能测试(由于时间关系,暂时还没做 TransparentBlt,AlphaBlend 性能测试程序):
Bitblt -> 基本块传输,支持ROP3光栅操作
StretchBlt -> 带任意尺寸拉伸,缩放功能的块传输,支持ROP3光栅操作
RotateBlt -> 任意角度旋转块传输,不支持ROP3光栅操作
Bitblt性能: 47211 pixel/ms
StretchBlt性能: 24750 pixel/ms
RotateBlt性能: 9031 pixel/ms
http://cache.amobbs.com/bbs_upload782111/files_39/ourdev_642371UWHWLW.JPG
(原文件名:DSC_2915.JPG)
http://cache.amobbs.com/bbs_upload782111/files_39/ourdev_642372UG73VT.JPG
(原文件名:DSC_2916.JPG)
http://cache.amobbs.com/bbs_upload782111/files_39/ourdev_642373JVWZ69.JPG
(原文件名:DSC_2917.JPG) GUI做的很强悍啊 进来围观学习 楼主的GUI越来越强大了,坚持搞到现在不容易阿,不过其他人只能烧来玩玩,意义不大吧,呵呵,我有空还是搞搞android 这个帖子真是太棒了,惊艳,牛x, 什么操作系统,winCE?这个貌似没啥研究价值了 lzv5 想知道LZ的操作系统是自个写的吗?牛! 刘伟出品 必为精品
OS内核 + GUI 都是lz原创的 都是一些二进制的东西只能让我们继续围观,再次赞叹LZ的厉害,再次膜拜LZ。LZ继续....
都到ARM11了,还不如直接WINCE了。 并不是要吊大家的口味.虽然暂时只给出二进制的目标文件,但这个系统和常规的ucOS之类的封闭式操作系统不同,这是一个开放式操作系统;和windows类似,应用程序与内核是相互独立的,应用程序和操作系统无需一起编译;应用程序一次性编译后的可执行文件,可以在各种不同硬件平台上运行.
由于本人目前手头上只有现成的6410开发板可用,所以暂时先给出了6410版本;我将尽可能利用我现有的硬件,移植到更多的平台上;当然,
我将会给出BSP源码及模板;大家可以自行移植到其它CPU系统;
目前,该系统属于多进程+多线程版本,需要MMU的支持来实现多进程运行,所支持的CPU为: ARM720T以上的MPU,60MIPS以上性能便可流畅运行该系统;如果有必要,以后将会发布多线程简化版,无需MMU,支持的CPU将更广.
对于多进程版,应用程序扩展是无限的.
后续我将介绍如何开发基于该操作系统的多进程应用程序. 厉害 回复【25楼】liuweiele Liuwei
并不是要吊大家的口味.虽然暂时只给出二进制的目标文件,但这个系统和常规的ucos之类的封闭式操作系统不同,这是一个开放式操作系统;和windows类似,应用程序与内核是相互独立的,应用程序和操作系统无需一起编译;应用程序一次性编译后的可执行文件,可以在各种不同硬件平台上运行.
由于本人目前手头上只有现成的6410开发板可用,所以暂时先给出了6410版本;我将尽可能利用我现有的硬件,移植到更多的平台上;当然,
我将会给出bsp源码及模板;大家可以自行移植到其它cpu系统;
目前,该系统属于多进程+多线程版本,需要mmu的支持来实现多进程运行,所支持的cpu为: arm720t以上的mpu,60mips以上性能便可流畅运行该系统;如果有必要,以后将会发布多线程简化版,无需mmu,支持的cpu将更广.
对于多进程版,应用程序扩展是无限的.
后续我将介绍如何开发基于该操作系统的多进程应用......
-----------------------------------------------------------------------
要是有开放源码就美了 楼主,要像你这样自己写个操作系统是不是要对ARM汇编很熟? 回复【28楼】millwoodO 山寨王
楼主,要像你这样自己写个操作系统是不是要对arm汇编很熟?
-----------------------------------------------------------------------
是的,以前做过几年4位,8位机的汇编编程,积累了一定的基础. 回复【29楼】liuweiele Liuwei
回复【28楼】millwoodo 山寨王
楼主,要像你这样自己写个操作系统是不是要对arm汇编很熟?
-----------------------------------------------------------------------
是的,以前做过几年4位,8位机的汇编编程,积累了一定的基础.
-----------------------------------------------------------------------
以楼主为目标,努力学习 mark一下.学习. BSP源码和模板正在整理,过些时间会公布;
到时,各位可以利用提供的BSP模板源码移植到其它硬件平台. 震惊了。。。膜拜一下 楼主真是高手啊 果断马克,星期一的时候研究一下,正好公司有6410的板子。 操作系统内核升级,强化中...
等新版本完成之后再发帖... 楼主的东西我都会关注!个个是精品,难得的可以如此深入钻研系统级软件开发的高手啊! MARK! 进来膜拜lz! 新做的演示程序:
http://cache.amobbs.com/bbs_upload782111/files_40/ourdev_645593M6EYIL.JPG
(原文件名:DSC_3108.JPG)
http://cache.amobbs.com/bbs_upload782111/files_40/ourdev_645594M3J2A0.JPG
(原文件名:DSC_3109.JPG)
http://cache.amobbs.com/bbs_upload782111/files_40/ourdev_645595D2DSPT.JPG
(原文件名:DSC_3116.JPG)
http://cache.amobbs.com/bbs_upload782111/files_40/ourdev_645596K65SOL.JPG
(原文件名:DSC_3118.JPG) 程序在小屏幕上运行(3.5寸,480x320):
http://cache.amobbs.com/bbs_upload782111/files_40/ourdev_645671I5OAVD.JPG
(原文件名:P6042158.JPG)
http://cache.amobbs.com/bbs_upload782111/files_40/ourdev_645672JBCZP5.JPG
(原文件名:P6042159.JPG)
http://cache.amobbs.com/bbs_upload782111/files_40/ourdev_645673QY75Z9.JPG
(原文件名:P6042160.JPG) 牛叉
这个强帖子要留名 mark MARK mark一下,正在学习中 LZ啥时候搞A8,A9的板子上的OS+GUI+FS呢?
支持,顶。 楼主是神人啊~ 不知道楼主用的6410是友善的什么版本,现在的tiny6410 lcd背光已经不能轻易点亮了,感觉是液晶背板上的单片机在搞怪,此单片机接收6410的PWM,然后自己重新输出一路PWM来控制LCD,似乎是只有6410输出适当的PWM,单片机才点亮背光,我用了楼主的程序,串口输出正常,LCD有变化,但是背光不亮,跟我调裸机的时候一样,重上电后利用瞬间开启的背光可以观察到上次的显示残影。当初为了点亮LCD把背板的一个电阻换了位置才行,但是换了位置背光亮了,触摸就不行了,友善有点恶心啊 回复【48楼】wawe07
-----------------------------------------------------------------------
要切换到 6410 自带的触摸屏控制器,触摸屏插座旁边有4个电阻位置可以切换. 嘿嘿,这个得支持一下。 回复【46楼】Excellence 精益求精
lz啥时候搞a8,a9的板子上的os+gui+fs呢?
支持,顶。
-----------------------------------------------------------------------
暂时手头上还没有 A8 , A9 的硬件平台...; 做好了,学nxp那样,rom化到芯片里去,收取license费
希望不是浮云 microchip 出了一个 gui designer 好东西,收下了。 好厉害,支持了 支持 非常支持原创.最重要的是稳定,最好是能找到做HMI的公司支持.长期下去不断完善. 哎,成神之路任重道远啊。。。。 回复【57楼】liguangqang
非常支持原创.最重要的是稳定,最好是能找到做hmi的公司支持.长期下去不断完善.
-----------------------------------------------------------------------
有道理;后续版本将会公布BSP源码,用户可以自行移植到其它硬件平台. 新版本操作系统内核 + S3C6410 BSP源码即将公布...... mark mark 回复【25楼】liuweieleLiuwei
并不是要吊大家的口味.虽然暂时只给出二进制的目标文件,但这个系统和常规的ucos之类的封闭式操作系统不同,这是一个开放式操作系统;和windows类似,应用程序与内核是相互独立的,应用程序和操作系统无需一起编译;应用程序一次性编译后的可执行文件,可以在各种不同硬件平台上运行.
由于本人目前手头上只有现成的6410开发板可用,所以暂时先给出了6410版本;我将尽可能利用我现有的硬件,移植到更多的平台上;当然,
我将会给出bsp源码及模板;大家可以自行移植到其它cpu系统;
目前,该系统属于多进程+多线程版本,需要mmu的支持来实现多进程运行,所支持的cpu为: arm720t以上的mpu,60mips以上性能便可流畅运行该系统;如果有必要,以后将会发布多线程简化版,无需mmu,支持的cpu将更广.
对于多进程版,应用程序扩展是无限的.
后续我将介绍如何开发基于该操作系统......
-----------------------------------------------------------------------
看到那个中国象棋很亲切,以前写过一个,棋力比较弱。其实lz棋子可以用3D软件处理下的
开放式和封闭式是这个意思吗?
GUI很漂亮,lz太牛了,一个人写的吗?没搬别的系统的东西吗?
大牛,真是羡慕
mark下 MARK
回复【63楼】dzmcs
-----------------------------------------------------------------------
MAKR 楼主用友好的ADS1.2作为开发环境,顶上微软的Embedded Visual C++了!用自己设计开发的系统,可以和Windows CE有得一拼了。
这是难能可贵的,如果用在商业上,这就降低了应用者的技术门槛和产品成本。因为在windows上搞ARM开发的没几个不会ADS的!而且微软的API大伙都熟,这样一来,就什么问题都解决了!
一人之力可以顶人家一大公司,牛人!
如果能找到有慧眼的投资商进行商业操作,都很有前途!
希望刘伟能得到资助,很好的把这个系统继续发展下去,可以选择开源与商业双轨制发展该项目! 楼主的帖子一定要mark mark! 很牛的系统,谢谢分享。 有没有2440的 回复【69楼】rigol_fan 西门吹雪
有没有2440的
-----------------------------------------------------------------------
这里有 操作系统内核 + BSP源码;
操作系统内核 及 应用程序 是和 硬件无关 的;
用户只要 修改BSP 中与 硬件相关 的部分,就能移植该操作系统 到其它ARM;
BSP移植比较简单,只要实现以"arch_"开头的接口函数就能完成,这些函数原型在 BSP.H文件中有声明.
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4823445&bbs_page_no=1&search_mode=4&search_text=liuweiele&bbs_id=9999 mark 回复【69楼】rigol_fan 西门吹雪
有没有2440的
-----------------------------------------------------------------------
这里是已经移植成功的 S3C2440 BSP源码:
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4844443&bbs_id=9999 mark! 在这行业混了两年了发现自己还是那么的无知...仰望LZ 如果有机会,后续将计划移植到 Nuvton, NXP 或 ATEML 果断mark 新手,膜拜ing 膜拜楼主,,,,GUI学习中 楼主大牛,我按照您的帖子在SD卡中放入了kernel,然后用使用SDBoot启动了S3C6410_480272_NandFlash.Bin,矫正了触摸屏之后,系统自动启动,但是看不到背景图片,看不到文字,按钮有反应,但是无法看到app列表,无法启动app。
运行结果如图:
http://cache.amobbs.com/bbs_upload782111/files_43/ourdev_660759VJ6XAV.JPG
文字无法显示,应用程序无法启动。 (原文件名:IMG_1661.JPG)
DNW的输出如下:
+-----------------------------+
| S3C6410 Uart Downloader |
+-----------------------------+
| Design by: Liuwei |
| Date: 2010-11-25 |
+-----------------------------+
Enter Download Address(HEX):50000000
Download To Address: 50000000H
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Download completed.
Select Funtion:
0: Run
1: Write To AM29LV160
2: Write To NandFlash(K9F1/2/4/8G08U)
+-----------------------------+
********************************************
* RO 50000000H - 5007D2F4H; Size: 512756
* RW 5007D2F4H - 5060EBC8H; Size: 5839060
* ZI 50088AE8H - 5060EBC8H; Szie: 5791968
*
********************************************
******************************
* System Startup *
******************************
System Build Date: May 23 2011
System Build Time: 18:03:17
System Local Time: 2011-5-10 00:33:06
ProcessorInfo:
-> Family:ARM1176JZ
-> String:S3C6410X-66
-> ID: 00006410
-> Clock: 532
set_intr -> 2 - 50005828H
swi_handler ->12
swi_handler ->34
OS CoreThread Start
OSStatInit
OSIdleCounterMax =2950455
OEM Startup!
RegisterDrive -> 0 - 'RAM Disk'
Enter to the Idle State
CMD8 Support
No Card Assertion
SD Card Init Fail!
NandFlash Chip Id = ECD3H
RegisterDrive -> 2 - 'NandFlash'
nand_disk_open
***********************
**** 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
**********************
***********************
**** fs info ****
***********************
drive: 2
fs_type: Unknow
c_size: 0
s_size: 2048
n_fats: 0
wflag: 0
id: 0
n_rootdir:0
sects_fat:0
max_clust:0
free_clust: 0
fat_base: 0
dir_base: 0
data_base:0
***********************
TotalSize: 8320000 Byte
FreeSize:8352768 Byte
**********************
RegisterDevice -> 'COM1'
RegisterDevice -> 'COM3'
ALCO_Dev_PowerUp
RegisterDevice -> 'ALCO'
set_intr -> 0 - 50005D48H
RegisterDevice -> 'COIN_SELECTOR'
set_intr -> 1 - 5000FCB4H
DM9000AE ChipId is 90000a46
RegisterDevice -> 'DM9000'
GUI_Init
LCDInit End(480x272,24bpp)
ScreenWidth=480;ScrHeigh=272;Bpp=24
GUI_Font Init OK!
GUI_Resource_Init!
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
TS_Init.
TouchPanelCalibrationStart
TS_Init.
ts_save_cfg
TouchScreen XY Ref=LeftDown.
TS_LUAddata =1071, 2526
TS_RUAddata =3194, 2514
TS_RDAddata =3197, 1548
TS_LDAddata =1060, 1548
TS_XYSwap =0
ts_org=3
TouchPanelCalibrationSucceed
TouchScreen Calibrate Exit!
TouchPanel Thread Startup!
Desktop -> WM_ERASEBKGND - 0,0,480,272
GUI_Desktop Start!
Desktop->pMsgQ=52111380H
SetTimer -> 52113800H - 500
MultiMediaInit
DestroyThread!
DestroyThread!
DestroyThread!
DestroyThread!
DestroyThread!
DestroyThread!
DestroyThread!
DestroyThread!
SetTimer -> 52006E00H - 300
**************************
**** Main Menu ****
**************************
Select Function(0~6):
. USB MassStoeage
. GUI Demo
. TouchScreen Calibrate
. FS Test
. TCB View
. Debug Download
. Custom
->:
----isr_dm9000----
ready1 = 27
ready2 = 1
st=4001 status=4001len= 40
rx_data_len:64 <--->40
1 1 0 94 127
255 250 6 80 67
4 9 225 8 0
69 0 1 22 47
47 0 0 32 17
185 3 192 168 1
2 239 255 255 250
7 108 7 108 1
2 228 57 78 79
84 73 70 89 32
42 32 72 84 84
80 47 49 46 49
13 10 72
------------------
我用的板子是real6410 version 3.2的,屏幕是东华的WXCAT43-TG3#001_V1.2带Touch,
两片 16 位的 128M Byte mobile DDR、1G Byte的 MLC型 NandFlash K9G8G08。
请问大牛:
为啥一直”No Card AssertionSD Card Init Fail!“识别不到SD卡呢?我的SD卡是金士顿2G的。
无法识别字体和app列表,GUI demo test 中无法显示图片,这是哪里的问题呢?
谢谢! 回复【80楼】commshare
-----------------------------------------------------------------------
你试下这个最新版:
点击此处下载 ourdev_660869RY6D9U.rar(文件大小:195K) (原文件名:S3C6410_System_480x272.rar)
更多的内容可以参考这里:
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4907057&bbs_page_no=1&search_mode=4&search_text=liuweiele&bbs_id=9999 回复【81楼】liuweieleLiuwei
-----------------------------------------------------------------------
看到楼主新版的强大功能,非常佩服楼主的技术全面,设计精巧。
可是新版的在我板子上,触摸屏矫正无法启动,触摸屏没有反应。SD仍旧无法识别。
还请楼主指点一下:
运行情况如下:
+-----------------------------+
| S3C6410 Uart Downloader |
+-----------------------------+
| Design by: Liuwei |
| Date: 2010-11-25 |
+-----------------------------+
Enter Download Address(HEX):50000000
Download To Address: 50000000H
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Download completed.
Select Funtion:
0: Run
1: Write To AM29LV160
2: Write To NandFlash(K9F1/2/4/8G08U)
+-----------------------------+
********************************************
* RO 80000000H - 8008C888H; Size: 575624
* RW 8008C888H - 8052304CH; Size: 4810692
* ZI 8008C970H - 8052304CH; Szie: 4810460
*
********************************************
atoi=1,atoi=23,strlen=4
abs=1234,1234
******************************
* System Startup *
******************************
Version:0.0.1 (2011/07/09)
System Build Date: Jul 22 2011
System Build Time: 17:39:22
System Local Time: 2011-5-10 16:02:21
ProcessorInfo:
-> Family:ARM1176JZ
-> String:S3C6410X-66
-> ID: 00006410
-> Clock: 532MHZ
KerelHeapInfo:
-> BaseAddr:83000000H
-> PageSize:128Byte
-> TotalSize: 82837503Byte
UserHeapInfo:
-> BaseAddr:81000000H
-> PageSize:1048576Byte
-> TotalSize: 33554431Byte
set_intr -> 2 - -7FFF4510H
CreateThread -> 83000300H,255
CreateThread -> 83000780H,254
CreateThread -> 83004A00H,16
OS Core Startup
####
OSStatInit
OSIdleCounterMax =3017784
Kernel_API_Entry: 800521F4H
FFFE_4000:00 00 00 00 00 40 00 84 A4 00 02 00 80 00 00 00
FFFE_4010:04 F0 1F E5 9C 84 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
Enter to the Idle State
CMD8 Support
No Card Assertion
SD Card Init Fail!
NandFlash Chip Id = ECD3H
RegisterDrive -> 2 - 'NandFlash'
nand_disk_open
disk->get_sector_size=2048
#### -> fmt=2 -0,2048
f_mount -> 2 - 13
***********************
**** 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: 2
fs_type: Unknow
c_size: 0
s_size: 2048
n_fats: 0
wflag: 0
id: 0
n_rootdir:0
sects_fat:0
n_fatent: 0
free_clust: 0
fat_base: 0
dir_base: 0
data_base:0
***********************
TotalSize: 8322048 Byte
FreeSize:8353792 Byte
**********************
RegisterDevice -> 'COM1'
RegisterDevice -> 'COM3'
ALCO_Dev_PowerUp
RegisterDevice -> 'ALCO'
set_intr -> 0 - -7FFFBB28H
RegisterDevice -> 'COIN_SELECTOR'
set_intr -> 1 - -7FFF4D7CH
DM9000AE ChipId is 90000a46
RegisterDevice -> 'DM9000'
GUI_Init
GWIS_API_Entry: 80050EB4H
FFFE_8000:00 00 00 00 00 40 00 84 A4 00 02 00 80 00 00 00
FFFE_8010:20 20 00 00 00 80 10 20 00 04 00 40 00 00 00 00
gwis_api_init
LCDInit End(480x272,24bpp)
swi_add -> 0
a=1,b=2,c=3,d=4,e=5,e=6
ScreenWidth=480;ScrHeigh=272;Bpp=24
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 -> 83086200H,128
KeyBoard Init
ts_hard_init.
ts_load_config Error
TouchPanelCalibrationStart
ts_hard_init.
----isr_dm9000----
ready1 = 27
ready2 = 1
st=4001 status=4001len= 40
0000_0000:28 01 01 00 5E 7F FF FA 06 50 43 04 09 E1 08 00
0000_0010:45 00 01 16 16 4F 00 00 20 11 D1 E3 C0 A8 01 02
0000_0020:EF FF FF FA 07 6C 07 6C 01 02 E4 39 4E 4F 54 49
0000_0030:46 59 20 2A 20 48 54 54 50 2F 31 2E 31 0D 0A 48
------------------
http://cache.amobbs.com/bbs_upload782111/files_43/ourdev_660921AAP9LC.jpg
触摸屏矫正无法启动,触摸屏没有反应。SD仍旧无法识别。 (原文件名:IMG_1664-2.jpg) 回复【82楼】commshare
-----------------------------------------------------------------------
刚刚把系统烧录到Real6410核心板上试了下,可以成功运行,2GB的SD卡可以识别:
http://cache.amobbs.com/bbs_upload782111/files_43/ourdev_660943MIVFK1.JPG
(原文件名:P1012202.JPG)
http://cache.amobbs.com/bbs_upload782111/files_43/ourdev_660944O8XQY6.JPG
(原文件名:P1012203.JPG)
http://cache.amobbs.com/bbs_upload782111/files_43/ourdev_660945Z4UAYO.JPG
(原文件名:未命名.JPG) 回复【82楼】commshare
-----------------------------------------------------------------------
这个是按你的东华 4.3寸屏修改的,应该可以显示了.
点击此处下载 ourdev_660954GKZOSC.rar(文件大小:195K) (原文件名:S3C6410_System_东华WXCAT43.rar)
在S3C6410 SD卡驱动中,SD_CLK 时钟为 33MHZ, 可能是你的卡支持不到这个速度(比如 TF卡),你换个SD卡试试,或者自行修改SD卡驱动,降低SD_CLK时钟频率. mark hah 回复【84楼】liuweieleLiuwei
-----------------------------------------------------------------------
大牛,我是SD卡,不是TF卡。换了一个同类型的2G卡(http://www.kingston.com/china/support/FLASHMEMORYCARDS/default.asp),但是还是不能识别。
http://cache.amobbs.com/bbs_upload782111/files_43/ourdev_661500TT5PB8.jpg
金士顿的 SD/XXSecure Digital (原文件名:金士顿2G.jpg)
您说可以修改驱动。我就去看了下s3c6410的datasheet,第一次接触驱动程序,说说我的分析,您别见笑。
S3C6410_User_Manual_rev1.20.pdf里头说SD的频率不能高于25MHZ,而且设置频率要用到Clock Frequency = (Base Clock) / divisor这个公式。divisor的值根据
80h base clock divided by 256
40h base clock divided by 128
20h base clock divided by 64
10h base clock divided by 32
08h base clock divided by 16
04h base clock divided by 8
02h base clock divided by 4
01h base clock divided by 2
00h base clock (10MHz-63MHz)
来选择最合适的一个值赋值给CLKCON寄存器。
http://cache.amobbs.com/bbs_upload782111/files_43/ourdev_661499RM8M7G.JPG
CLOCK CONTROL REGISTER(原文件名:clk.JPG)
Base Clock 的值好像是在Capabilities register(BaseClock Frequency For SD Clock in the Capabilities register.)中。这个寄存器就是您在s3c6410_hsmmc.h 中定义的 UINT32 CAPAREG; // 0x40 ,但好像这个寄存器也没用到。
HS_mmc.c (这里头您有用到上面的那个公式,但是函数内容都注释掉了).
SDI.c中,您定义了#define SDCLK 15000000 //PCLK=49.392MHz 但是貌似一直没有用。
SDI_Init()--->SD_Card_Init()---->SetInitSpeed(),这里,sdi->CLKCON = (128<<8)|(1<<0);好像是初始化时,用来设置SD卡频率的。正常运行之后,就设置为sdi->CLKCON = (2<<8)|(1<<0);
(1)我不太理解您是怎么用的CLKCON 这个寄存器,看上去也没有用CLKCON 说明里给出的那个公式。您是怎么设置的SD_CLK呢。。。我第一次接触驱动程序,可不可以麻烦您给讲解下。
(2)另外,我用了您为东华修改的bin文件之后,可以看到矫正界面,但是点击矫正的十字红叉没反应,然后就一直卡在这个矫正界面上。可能是因为config文件无法写入(ts_load_config Error),但是之前您发布的就可以。我看到您在新版的代码中,TouchScreen_Drv.c中把#define ADC_CLK 1000000 /*5MHZ*/ ,改成4000000了。是这里的问题么?
(3)我在real6410东华4.3存屏幕的LCD驱动(drivers/video/s3c/s3cfb_wx4300f.c)中看到#define S3CFB_VFRAME_FREQ 75 /* frame rate freq */设置为75了,但LDD6410设置为60,但是我找遍了东华屏datasheet: WXCAT43-TG3_001_V1.2.pdf,也没有找到这个frame rate freq的定义。google下说这个值是表示“每秒钟内“图框信号重复”的次数”(http://blog.csdn.net/commshare/article/details/6635743)。那这个值为为60或者75,不影响LCD的驱动效果么?
感谢牛人的指导! 回复【87楼】commshare
-----------------------------------------------------------------------
(1). 在这个6410 SD卡驱动中,正常读写时,SD_CLK =66MHZ/4
你换一张其它小于2GB的SD卡,看是否可以识别.
(2). 只要你的触摸屏接线正确,驱动不要修改.
(3). LCD时钟控制通过定义宏 CLK_VAL(分频系数) 回复【84楼】liuweieleLiuwei
-----------------------------------------------------------------------
我用的是飞凌的ok6410 开发板,屏幕是4.3寸的wxcat43,nandflash为 K9GAG08,我将“S3C6410_System_东华WXCAT43”烧写到nandflash中以后,重启时触摸屏不能够校准(点击屏幕上的十字没有反应),而将“S3C6410_480272_NandFlash.Bin”烧写之后,能够进行校准,但是显示不正确,请问这个问题该如何解决呢?谢谢! 回复【89楼】gallop020142
-----------------------------------------------------------------------
这里有最新的 S3C6410 BSP 源码,你先试试修改一下 NandFlash 和 LCD 驱动,看是否可以正确运行...
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4907057&bbs_page_no=1&search_mode=4&search_text=liuweiele&bbs_id=9999 果然是高手,顶上 LZ,在我的板子运行是红十字校正无反应,SD卡是4G的./emotion/em015.gif 回复【92楼】licheng0620
-----------------------------------------------------------------------
你的板子是 Mini6410 + 7寸 TFT ?
另外,SD卡驱动目前还没测试过是否可以支持 4GB 以上的SDHC; 4GB以下的SD卡是100%没问题的. mark一下 回复【93楼】liuweiele Liuwei
-----------------------------------------------------------------------
我的板子是 Mini6410 + 4.3寸 TFT ,LZ能否做一下支持 4G SD卡,谢谢 回复【95楼】licheng0620
回复【93楼】liuweiele liuwei
-----------------------------------------------------------------------
我的板子是 mini6410 + 4.3寸 tft ,lz能否做一下支持 4g sd卡,谢谢
-----------------------------------------------------------------------
操作系统内核本身是可以支持的,你只要修改一下 BSP 中 SDI 驱动源码就可以了. 学习中 回复【96楼】liuweiele Liuwei
-----------------------------------------------------------------------
没改SD驱动居然也可以,o(∩_∩)o 哈哈,4G的卡
串口终端信息如下:
********************************************
* RO 80000000H - 8008C858H; Size: 575576
* RW 8008C858H - 8052301CH; Size: 4810692
* ZI 8008C940H - 8052301CH; Szie: 4810460
*
********************************************
atoi=1,atoi=23,strlen=4
abs=1234,1234
******************************
* System Startup *
******************************
Version:0.0.1 (2011/07/09)
System Build Date: Jul 22 2011
System Build Time: 17:39:22
System Local Time: 2000-9-16 00:57:24
ProcessorInfo:
-> Family:ARM1176JZ
-> String:S3C6410X-66
-> ID: 00006410
-> Clock: 532MHZ
KerelHeapInfo:
-> BaseAddr:83000000H
-> PageSize:128Byte
-> TotalSize: 82837503Byte
UserHeapInfo:
-> BaseAddr:81000000H
-> PageSize:1048576Byte
-> TotalSize: 33554431Byte
set_intr -> 2 - -7FFF4540H
CreateThread -> 83000300H,255
CreateThread -> 83000780H,254
CreateThread -> 83004A00H,16
OS Core Startup
####
OSStatInit
OSIdleCounterMax =3017873
Kernel_API_Entry: 800521C4H
FFFE_4000:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FFFE_4010:04 F0 1F
E5 6C 84 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
Enter to the Idle State
CMD8 Support
Voltage range: 2.7V ~ 3.4V
High Capacity Card
S
D Ready
Product Name : SD04G�
=>RCA=0x8dcb
Enter to the Stand-by State
********* C
ard Info *********
READ_BL_LEN: 9
READ_BL_PARTIAL: 0
C_SIZE: 0
C_SIZE_M
ULT: 4
One Block Size:512 Byte
Total Card Size: 1 MByte
SD_Init_End
RegisterDr
ive -> 1 - 'SD Card'
disk->get_sector_size=512
#### -> fmt=0 -512,512
f_mount -> 1 - 0
NandFlash Chip Id = ECD3H
RegisterDrive -> 2 - 'NandFlash'
nand_disk_open
disk->get_sector_size=2048
#### -> fmt=2 -0,2048
f_mount -> 2 - 13
***********************
**** 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: FAT32
c_size: 8
s_size: 512
n_fats: 2
wflag: 0
id:
2
n_rootdir:0
sects_fat:7287
n_fatent: 932610
free_clust: 52166
fat_base:
1938
dir_base: 2
data_base:16512
***********************
TotalSize: -483450880
Byte
FreeSize:213671936 Byte
**********************
***********************
**** fs info ****
***********************
drive:
2
fs_type: Unknow
c_size: 0
s_size: 2048
n_fats: 0
wflag: 0
id:
0
n_rootdir:0
sects_fat:0
n_fatent: 0
free_clust: 0
fat_base: 0
dir_bas
e: 0
data_base:0
***********************
TotalSize: -483450880 Byte
FreeSize:213671936 Byte
**********************
RegisterDevice -> 'COM1'
RegisterDevice -> 'COM3'
ALCO_Dev_PowerUp
RegisterDevice -> 'ALCO'
set_intr -> 0 - -7FFFBB58H
RegisterDevice -> 'COIN_SELECTOR'
set_intr -> 1 - -7FFF4DACH
DM9000AE ChipId is 90000a46
RegisterDevice -> 'DM9000'
GUI_Init
GWIS_API_Entry: 80050E84H
FFFE_8000:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FFFE_8010:00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00
gwis_api_init
LCDInit End(480x272,24bpp)
swi_add -> 0
a=1,b=2,c=3,d=4,e=5,e=6
ScreenWidth=480;ScrHeigh=272;Bpp=24
GUI_Font Init OK!
GUI_Resource_Init!
SetWallpap
er -> 'B:\kernel\res\desktop.jpg'
GUI_Timer_Init!
GUI_Window_Init!
RegisterClass -> 'button' - 00000000H
RegisterClas
s -> 'static' - 00000000H
RegisterClass -> 'edit' - 00000000H
RegisterClass -> 'sc
rollbar' - 00000000H
RegisterClass -> 'listbox' - 00000000H
RegisterClass -> 'imag
ebox' - 00000000H
RegisterClass -> 'toolbar' - 00000000H
CreateThread -> 83086400H
,128
KeyBoard Init
ts_hard_init.
0000_0000:8D 3F 82 0C 57 09 9D 03 54 09 A7 03 3E 06 96 0C
0000_0010:48 06 00
08 40 00 00 00 20 70 00 00 00 00 00 00
TouchScreen XY Ref=RightDown.
TS_LUAddata
=3202, 2391
TS_RUAddata =925, 2388
TS_RDAddata =935, 1598
TS_LDAddata =3222, 1608
T
S_XYSwap =0
ts_org=2
CreateThread -> 83087680H,200
CreateThread -> 8308B900H,128
CreateThread -> 8308CB80H,128
MultiMedia_API_Entry: 80052854H
FFFE_C000:04 F0 1F E5 BC E1 01 80 00 0C 00 00 00 00 00 00
FFFE_C010:04 F0 1F
E5 C0 E1 01 80 01 0C 00 00 00 00 00 00
multimedia_api_init
CreateThread -> 83090E00H,128
CreateThread -> 83092080H,129
CreateThread -> 83093300H,130
CreateThread -> 83094580H,131
CreateThread -> 8309C800H,2
CreateThread -> 8309DA80H,133
CreateThread -> 8309ED00H,134
CreateThread -> 8309FF80H,135
CreateThread -> 830A1200H,136
CreateThread -> 830A2480H,137
CreateThread -> 830A3700H,138
DestroyThread! - 83093300H
DestroyThread! - 8309DA80H
DestroyThread! - 8309ED00H
De
stroyThread! - 8309FF80H
DestroyThread! - 830A1200H
DestroyThread! - 830A2480H
Touc
hPanel Thread Startup!
Desktop -> WM_ERASEBKGND - 0,0,480,272
GUI_Desktop Start!
Desktop->pMsgQ=83092480H
SetTimer -> 83092880H - 500
DestroyThread! - 83094580H
SetTimer -> 83094000H - 300
DestroyThread! - 83092080H
**************************
**** Main Menu ****
**
************************
Select Function(0~5):
. USB MassStoeage
. GUI Demo
[2
]. TouchScreen Calibrate
. FS Test
. TCB View
. Custom
--------------------------------------------------------------------
可以显示开机画面,和通过串口命令做一些测试,如GUI Demo
但我的屏是友善的一线精准触摸屏(4.3"),触摸驱动用不了 回复【98楼】licheng0620
-----------------------------------------------------------------------
Mini6410 标配的LCD使用独立的 ADS78xx 触摸屏控制IC, 你可以按照原理图接口定义,自行修改驱动;
或者,在LCD底板的触摸屏FPC座旁边,找到那4个并列的电阻和4个并列的空位,掉换一下4个电阻的位置,
就可以直接使用了. 回复【98楼】licheng0620
-----------------------------------------------------------------------
最新版的系统内核增加了 USB 功能,可以将系统已注_册的所有储存设备(RAM Disk, Flash, SD卡),
以U盘方式连接到电脑上.
页:
[1]
2