📄 readme
字号:
## EM86XX Bootloader#--------------------------------------------------------------------------------------------------------------------To compile the loader, remember to run 'make CONFIG=config-yourconfig'--------------------------------------------------------------------------------------------------------------------CONFIGS: config-EM8605/05L/20L: standard configs for the EM86xx chip running with a companion host CPU. config-EM8610(L): standard configs for EM8610(L). config-EM8620L-Envision*: configs for the different revisions of the EM8620L Envision board. config-EM8620L-NetDVD*: configs for the different revisions of the EM8620L NetDVD board. config-EM*-Network: Same as the "non network" + enables the network in the boot loader. Other configs are either obsolete, or new in addition.--------------------------------------------------------------------------------------------------------------------TARGETS: loader.bin : stage 1 boot loader which can be loaded into DRAM directly by loadmambo utility loader-sflash.bin : boot loader can be written into serial flash. loader-flash.bin : boot loader can be written into parallel flash loader-flash-stage2.bin : boot loader can be written into parallel flash as secondary loader. loader-sflash-min.bin : boot loader can be written into serial flash. It doesn't load stage 1 boot loader. It initializes the chipset and does nothing loader-sflash-test.bin : production test boot loader for serial flash loader-flash-test.bin : production test boot loader for parallel flashThe loader.bin should be used with loadmambo, other targetsshould be used with burnflash. See the "How to use & debug the flash"link from the Documentation main page.--------------------------------------------------------------------------------------------------------------------MEMORY MAP OVERVIEW: (Please see adjust_memmap() in main.c for more up-to-dated allocation) DRAM_BASE + 0x00000000 (64 bytes) : vector table DRAM_BASE + 0x00010000 : image download space for filesystem or kernel DRAM_BASE + 0x00200000 : image donwload space for kernel with filesystem DRAM_BASE + 0x00500000 : image download space for temporary file (gzipped) DRAM_BASE + 0x00800000 : heap for unzip function DRAM_BASE + 0x00a00000 : boot loader image DRAM_BASE + 0x00b00000 : heap DRAM_BASE + 0x01000000 : stack (IRQ, FIQ, SVC) which grows toward lower address--------------------------------------------------------------------------------------------------------------------Scenario:After downloading kernel or romfs image via loadmambo, you can notify the boot boader of image download. For instance, if you download romfs by loadmambo to address 0x91010000, linux> loadmambo -wrdoboot> download ram romfs 0x90090000 <sizeofromfs>the command sets the internal 'download' flag. You are then able to use the 'flash' commandto flash it. The size of the image must be provided as the boot loader cannot detect it.--------------------------------------------------------------------------------------------------------------------COMMANDS AVAILABLE ON MINICOM:help : shows list of commandshelp <command> : help on command----------------------------------------------------------boot <target> : boots kernel romfs : loads kernel from ROMFS in RAM and boots rom : loads kernel from ROMFS in ROM and boots ide : looks for the bootable image in IDE devices and boots ide <drive> <part> [subpart] : loads kernel or romfs from IDE device and boots kernel : boots kernel directly on RAM initrd : boots kernel with separate initrd on RAM boot : boots the newly downloaded bootloader (TESTLOADERONRAM=y) <addr> : jumps to specified address----------------------------------------------------------config <conf> [options] : configures boot loader cmd <command line string> : Kernel command line string clock [speed] : CPU clock configuration valid speed range : 100 - 200 MHz serial [baudrate] : UART configuration valid baud rate : 9600, 19200, 38400 (def), 57600, 115200 (fast) cache/icache/dcache [on|off] : Enables or disables internal caches----------------------------------------------------------download <media> <target> [gz] : downloads image via various media <media> : serial, ram, net, or romfs (see scenario above) <target> : boot / 2ndboot / romfs / initrd / kernel / kernelfs / <addr> boot : boot loader (loader.bin) 2ndboot : boot secondary loader (2ndloader.bin) romfs : rom filesystem (romfs.bin) initrd : initial ramdisk (initrd.bin) kernel : kernel (linux.bin) kernelfs : kernel with separate filesystem (linux.bin) [gz] option : allows gzipped image When the media is net or romfs, default file names will be used. "config file" can be used to change default file names.----------------------------------------------------------dump [option] [addr] [len] : dumps memory area [option] : -l (4 bytes), -w (2 bytes), -b (1 byte)----------------------------------------------------------flash <command> [args...] : flash commands probe [addr] : probe flash list : show flash chip information boot : write boot loader image on RAM into FLASH (by default, starting at address 0x4600 0000) 2ndboot : write secondary boot loader image on RAM into FLASH (by default, starting at address 0x4601 0000) romfs : write ROMFS image on RAM into FLASH (by default, starting at address 0x4602 0000)Both "flash boot" and "flash romfs" can be tested simultaneously with the kernel config fileconfig-mambo-romfs-rom in armutils----------------------------------------------------------ide <cmd> [args...] : IDE commands probe <drive> : probes drive (0/1) probeall : probes all drives partition <drive> : shows partition table information kernel <drive> <partition> [subpart] [addr] [length] : writes kernel image into IDE device romfs <drive> <partition> [subpart] [addr] [length] : writes romfs image into IDE device----------------------------------------------------------info <class> : shows information on specified class edge : shows edge detector registers irq : shows interrupt controller registers fiq : shows fast interrupt controller registers sflash : shows serial flash controller registers pb : shows peripheral bus registers gpio : shows GPIO status romfs : shows the file list in ROMFS in ROM----------------------------------------------------------mem <op> [args] : reads from or writes to memory rb <addr> : reads one byte of data rw <addr> : reads two bytes of data rl <addr> : reads four bytes of data wb <addr> <data> : writes one byte of data ww <addr> <data> : writes two bytes of data wl <addr> <data> : writes four bytes of data----------------------------------------------------------memcmp <addr1> <addr2> [len] : compares memory region----------------------------------------------------------memcpy <to> <from> [len] : copies memory region----------------------------------------------------------pci <command> [args...] : PCI operation info : shows information about PCI host controller scan : scans entire PCI bus for PCI devices select <idsel> : selects specified device as current device dump <idsel> : shows device information located at specified slot config <idsel> : configures PCI device and enable device----------------------------------------------------------sflash <command> [args...] : sflash operation probe : probes serial flash force : specifies serial flash model forcelist : shows supported serial flash models boot : writes downloaded bootloader image into serial flash
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -