打印
[ARM Linux入门与实践]

请教阿南:看你书知道你以前ARM9做产品也不用操作系统。

[复制链接]
3086|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
LPcfANS|  楼主 | 2009-4-3 09:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
computer00| | 2009-4-3 09:56 | 只看该作者

这个跟有没有操作系统无关吧……

如果你想保留一个boot load,你把操作系统内核换成你的可执行文件就行了。

如果连boot load也不要,那就自己写一个加载程序放在block0,然后再去FLASH复制数据到RAM中运行。

使用特权

评论回复
板凳
LPcfANS|  楼主 | 2009-4-3 10:38 | 只看该作者

谢谢OO。你的意思是把烧WINCE的地址烧进没有操作系统的程序

我手里的2440启动WINCE需要。NBOOT1ST,NBOOT2ST,UMON,EBOOT。
比较麻烦,不用操作系统的话,希望能有一个BOOTLOADER就可以启动应用程序。

使用特权

评论回复
地板
computer00| | 2009-4-3 10:55 | 只看该作者

那你可以自己写一个简单的loader,放在地址0就可以了

使用特权

评论回复
5
LPcfANS|  楼主 | 2009-4-3 14:17 | 只看该作者

谢谢。。。

使用特权

评论回复
6
LPcfANS|  楼主 | 2009-4-3 14:18 | 只看该作者

谢谢。。。。

使用特权

评论回复
7
阿南| | 2009-4-3 17:40 | 只看该作者

re:

8楼: 呵呵: 

1.开发的时候可以使用JTAG烧写,但在生产时通常都用编程器直接烧写NAND Flash.
2.2410和2440支持NAND Flash启动,复位时,处理器硬件上NAND Flash控制器会通过一个叫Steppingstone的东东自动将NAND Flash的前4k代码加载到内部的BootSRAM中,然后开始运行该代码(注意了:不是直接在Flash中运行,而是在处理器自身的SRAM中运行)。
3.可以写一个小于4K的Bootloader,完成你的应用程序的下载和加载工作。所以完成之后有两个程序,一个是该Bootloader(小于4K),另一个是你的应用程序。
详情请参考《ARM Linux入门与实践》一书,前半部分是硬件和裸奔。
Bootloader也可以直接在书友会(http://group.**/999/)上找到源代码 
 

使用特权

评论回复
8
whywhyyyz33| | 2009-5-31 19:21 | 只看该作者

在windows下安装jtag驱动出现的问题

安装jtag的驱动文件giveio.inf时,windows给出了这个提示:
这个inf文件的安装段落无效

网上搜了一下,可能是使用了盗版的精简版windowsxp,缺少一些文件,所以不能安装,请问如果不想重做系统有办法解决么??

giveio.inf 的内容如下:

; giveio.inf
;
; Installation file (.inf) for the giveio device.
;
; (c) Copyright 2000  
;

[Version]
Signature="$Windows NT$"
Provider=%%
ClassGUID={4d36e978-e325-11ce-bfc1-08002be10318}
Class=Unknown
CatalogFile=giveio.cat
DriverVer=05/13/2000

[DestinationDirs]
DefaultDestDir   = 12

;
; Driver information
;

[Manufacturer]
%%   = .Mfg

[.Mfg]
%.DeviceDesc0% = giveio, 


;
; General installation section
;

[giveio]

;
; File sections
;


;
; Service Installation
;

[giveio.Services]
AddService = giveio, 0x00000002 , giveio_Service_Inst, giveio_EventLog_Inst

[giveio_Service_Inst]
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 3                  ; SERVICE_DEMAND_START
ErrorControl   = 0                  ; SERVICE_ERROR_IGNORE
LoadOrderGroup = Pointer Port
ServiceBinary  = %12%giveio.sys


[giveio_EventLog_Inst]
AddReg = giveio_EventLog_AddReg

[giveio_EventLog_AddReg]
HKR,,EventMessageFile,0x00020000,"%SystemRoot%System32IoLogMsg.dll;%SystemRoot%System32driversgiveio.sys"
HKR,,TypesSupported,0x00010001,7




;
; Source file information
;

[SourceDisksNames.x86]
1 = %DiskId1%,,,""

[SourceDisksFiles]
; Files for disk  Installation Disk #1 (Ports)
giveio.sys = 1,,


[Strings]

;
; Non-Localizable Strings
;

REG_SZ         = 0x00000000
REG_MULTI_SZ   = 0x00010000
REG_EXPAND_SZ  = 0x00020000
REG_BINARY     = 0x00000001
REG_DWORD      = 0x00010001
SERVICEROOT    = "SystemCurrentControlSetServices"

;
; Localizable Strings
;

.DeviceDesc0 = "giveio"
DiskId1 = " Installation Disk #1 (Ports)"
 = ""

使用特权

评论回复
9
lelee007| | 2009-6-26 23:05 | 只看该作者

LZ看看2410的小石头吧

圈圈跟南哥说的已经很明白了

你可以在你的代码的reset程序段里边用一段代码来实现从NAND FLASH把数据copy到SDRAM里的代码,然后跳到SDRAM的空间去执行就OK了

使用特权

评论回复
10
l0p0c| | 2009-6-27 13:53 | 只看该作者

裸奔是绝对可以的!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

69

主题

1614

帖子

1

粉丝