首页 > 编程知识 正文

$deuidGenmmcoRe,全志科技的芯片如何

时间:2023-05-06 07:44:03 阅读:177176 作者:1813

sunxi学习: [0]全杂志SoC启动过程分析参考: linux-sunxi.org

启动过程: bootromsplu-boot (kernelroot file system ) )。

一、BROM阶段的有志SoC有非常具体的启动流程。 首先,运行小片上的bootrom(brom ),然后检查按钮的FEL模式,再开始检查各种存储选项的有效引导签名是否在正确的位置。

接通电源后,SoC从BROM的某个地址0xffff0000开始获取命令。 BROM分为两个部分。 第一部分(0xffff0000 )为FEL模式,第二部分位于eGON.BRM )0xffff4000中。

FEL:FEL是Allwinner设备的BootROM中包含的子例程。 用于使用USB的设备的初始编程和恢复。 所以,全志平台一般做不到砖,就是因为有这个FEL。

一般来说,BROM首先检查SD卡(SD/MMC )的启动可用性,然后检查Nand Flash是否能够启动,然后检查SPI Nor Flash的启动可用性,如果都不能启动,则进入FEL模式。 程序启动介质初始化成功后,从bootloader的Boot0固定位置读取到SRAM,跳转到SRAM执行。

将u-boot写入SD卡SD Card Layout :

startsizeusage08KBUnused,availableforpartitiontableetc.824 kbinitialsplloader 32512 kbu-boot 544128 kb environment 672352 kb reseset

sudoddif=u-boot-sunxi-with-spl.binof=$ { card } bs=1024 seek=8吉,U-boot SPL阶段spl(secondaryprogramloader )

初始化ARM处理器初始化串行控制台配置时钟和基本分频初始化SDRAM配置引脚复用功能引导设备初始化(上面选择的引导设备) )加载完整的u-boot/kernel程序,并使用传递控制权的FEL/USBBoot

sudo./sunxi-felubootu-boot-sunxi-with-spl.binu-boots pl 2017.03-RC2-GC 7a 25 B3-dirty (mar 112017-173360000000-17 )

u-boot 2017.03-RC2-GC 7a 25 b3- dirty (mar 112017-173360093360430800 ) allwinnertechnologycpu 3360 allwinnerh3) sun8i 16660 mi bmmc : sunx isd/MMC : MMC : nocardpresentmmc _ init :-123,time 1*** Warning - MMC init failed, usingdefaultenvironmentin : serial out : serial err : serial net : phy interface0eth 0:以太网@ 1c 30000 starting USB . canning bus0for devices .1USB device (s ) foundscanningusbforstoragedevices .0storage device (s ) foundscanningusbforstoragestorages - alias for ' help ' base-printorsetaddressoffsetbdinfo-printboardinfostructureboot-boot default,i.e .run ' bootcmd run ' bootcmd ' bootefi-bootsanefipayloadfrommemorybootelf-bootfromanelfimageinmemorybootm-bootapplicationimagefrommmememorom/tftpprotocolbootvx-bootvxworksfromanelfimagebootz-bootlinuxzimageimagefrommemorycmp-memory

compareconinfo - print console devices and informationcp - memory copycrc32 - checksum calculationdhcp - boot image via network using DHCP/TFTP protocoldm - Driver model low level accessecho - echo args to consoleeditenv - edit environment variableenv - environment handling commandsexit - exit scriptext2load- load binary file from a Ext2 filesystemext2ls - list files in a directory (default /)ext4load- load binary file from a Ext4 filesystemext4ls - list files in a directory (default /)ext4size- determine a file's sizefalse - do nothing, unsuccessfullyfatinfo - print information about filesystemfatload - load binary file from a dos filesystemfatls - list files in a directory (default /)fatsize - determine a file's sizefatwrite- write file into a dos filesystemfdt - flattened device tree utility commandsfstype - Look up a filesystem typego - start application at address 'addr'gpio - query and control gpio pinshelp - print command description/usageiminfo - print header information for application imageimxtract- extract a part of a multi-imageitest - return true/false on integer compareload - load binary file from a filesystemloadb - load binary file over serial line (kermit mode)loads - load S-Record file over serial lineloadx - load binary file over serial line (xmodem mode)loady - load binary file over serial line (ymodem mode)loop - infinite loop on address rangels - list files in a directory (default /)md - memory displaymdio - MDIO utility commandsmii - MII utility commandsmm - memory modify (auto-incrementing address)mmc - MMC sub systemmmcinfo - display MMC infomw - memory write (fill)nfs - boot image via network using NFS protocolnm - memory modify (constant address)part - disk partition related commandsping - send ICMP ECHO_REQUEST to network hostprintenv- print environment variablespxe - commands to get and boot from pxe filesreset - Perform RESET of the CPUrun - run commands in an environment variablesave - save file to a filesystemsaveenv - save environment variables to persistent storagesetenv - set environment variablessetexpr - set environment variable as the result of eval expressionshowvar - print local hushshell variablessize - determine a file's sizesleep - delay execution for some timesource - run script from memorysysboot - command to get and boot from syslinux filestest - minimal test like /bin/shtftpboot- boot image via network using TFTP protocoltrue - do nothing, successfullyusb - USB sub-systemusbboot - boot from USB deviceversion - print monitor, compiler and linker versionu-boot@sun8i $ 我的个人主页:http://www.techping.cn/我的个人站点博客:http://www.techping.cn/blog/wordpress/我的CSDN博客:http://blog.csdn.net/techping我的简书:http://www.jianshu.com/users/b2a36e431d5e/timeline我的GitHub:https://github.com/techping
欢迎相互follow~

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。