鉴于对Linux了解甚少,今天,分析了一下MYS-6ULX-IOT的启动过程,做下记录,以了解这个系统到底是怎么运行的。
 

  
 
  
ROM代码执行
  
 
U-Boot 2016.03-mys-6ulx+g04a0d30 (Apr 28  2018 - 22:58:22 +0800)
  
CPU:    Freescale i.MX6ULL rev1.1 528 MHz (running at 396 MHz)
  
CPU:    Commercial temperature grade (0C to 95C) at 48C
  
Reset cause: POR
  
Board: MYS-MX6ULL 14x14
  
I2C:    ready
  
DRAM:   256 MiB
  
NAND:   256 MiB
  
MMC:    FSL_SDHC: 0
  
*** Warning - bad CRC, using default  environment
  
Display: TFT43AB (480x272)
  
Video: 480x272x24
  
In:     serial
  
Out:    serial
  
Err:    serial
  
Net:    FEC0
  
Error: FEC0 address not set.
U-Boot引导: 启动代码_startreset_mainboard_init配置
  
检查基本硬件: CPU、内存闪存、主板、总线、接口、主存储、操作系统内核镜像、根文件系统、安全设备等,就是为操作系统准备必须资源。
  
根据硬件环境,加载不同的dtb文件,使后续统一的linux kernel运行在相应的硬件平台上。dtb文件就是有关板子具体功能的设备驱动.
  
参考u-boot FIT image
  
POR-- power-on reset
  
CPU信息
  
Board
  
I2C
  
DRAM
  
NAND
  
MMC
  
Display
  
u-bootAPI(如low_level_initboard_init_fboard_init_r等等)做初始化。
  
疑问:我原以为所有dtb都在kernel后加载, 似乎不全这样?
  
u-boot使用哪些内存?
Normal Boot
  
Hit any key to stop autoboot:  0
  
NAND read: device 0 offset 0x500000, size  0xa00000
  
10485760 bytes read: OK
  
NAND read: device 0 offset 0xf00000, size  0x100000
  
1048576 bytes read: OK
  
Kernel image @ 0x80800000 [ 0x000000 -  0x6861b8 ]
  
## Flattened Device Tree blob at 83000000
  
    Booting using the fdt blob at 0x83000000
  
    Using Device Tree  in place at 83000000, end 8300ba3e
NAND读出 (两个在不同位置,难道一个是kernel,一个是dtb)
  
 
  
 
  
 
  
 
  
 
  
kernel放在0x80800000
  
FDT设备驱动放在0x83000000
Starting kernel ...
  
Booting Linux on physical CPU 0x0
  
Linux version 4.1.15-1.2.0+ga17f87e  (blackrose@brix4770-debian) (gcc version 5.3     .0 (GCC) ) #1 SMP PREEMPT Tue May 29  22:35:26 CST 2018
引导后开始启动内核。
  
U-Bootbootm(据说有I, z , m三种命令将内核镜像加载到内存的指定地址处,如果有需要还要解压镜像,然后根据操作系统和体系结构的不同给内核传递不同的启动参数,最后启动内核
  
k erenl正式开始运行
CPU: ARMv7 Processor [410fc075] revision  5 (ARMv7), cr=10c53c7d
处理器类型
CPU: PIPT / VIPT nonaliasing data cache,  VIPT aliasing instruction cache
处理器在进行存储器访问时,访问的是虚拟地址,经过cache缓存和TLBMMU的映射转换,最终变成了物理地址。cache工作方式:
  
VIVTVirtual Index  Virtual Tag):使用虚拟地址索引域和虚拟地址的标记域。
  
VIPTVirtual Index  Physical Tag):使用虚拟地址的索引域和物理地址的标记域。
  
PIPTPhysical Index  Physical Tag):使用物理地址的索引域和物理地址的标记域。
  
                                                                     
Machine model: Freescale i.MX6 ULL 14x14  EVK Board
机器源
Reserved memory: failed to allocate  memory for node 'linux,cma'
cmacontigous memory  allocator
  
内存分配管理
  
 
  
zonelists内存区域节点链表
  
控制台命令行。 UBI- Unsorted Block Images一种类似于LVM的逻辑卷管理层。主要实现损益均衡,逻辑擦除块、卷管理,坏块管理等。
  
UBIFS:基于UBIFLASH文件系统
     
MTD --Memory Technology  Device,  PID—进程ID
  
Dentry cache目录项高速缓存,  Inode-cache 索引节点缓存
Memory policy: Data cache writealloc
PERCPU: Embedded 12 pages/cpu @8fdd4000  s16908 r8192 d24052 u49152
Built 1 zonelists in Zone order, mobility  grouping on.  Total pages: 65024
Kernel command line:  console=ttymxc0,115200 ubi.mtd=3 root=ubi0:rootfs rootfstyp     e=ubifs  mtdparts=gpmi-nand:5m(boot),10m(kernel),1m(dtb),-(rootfs)
PID hash table entries: 1024 (order: 0,  4096 bytes)
  
Dentry cache hash table entries: 32768  (order: 5, 131072 bytes)
  
Inode-cache hash table entries: 16384  (order: 4, 65536 bytes)
  
Memory: 246684K/262144K **ailable (8626K  kernel code, 440K rwdata, 3032K rodata,       428K init, 450K bss, 15460K reserved, 0K cma-reserved, 0K highmem)
Virtual kernel memory layout:
  
     vector  : 0xffff0000 -  0xffff1000   (   4 kB)
  
     fixmap  : 0xffc00000 -  0xfff00000   (3072 kB)
  
     vmalloc : 0x90800000 - 0xff000000    (1768 MB)
  
     lowmem  : 0x80000000 -  0x90000000   ( 256 MB)
  
     pkmap   : 0x7fe00000 -  0x80000000   (   2 MB)
  
     modules : 0x7f000000 - 0x7fe00000    (  14 MB)
  
       .text : 0x80008000 - 0x80b6aaf0    (11659 kB)
  
       .init : 0x80b6b000 - 0x80bd6000    ( 428 kB)
  
       .data : 0x80bd6000 - 0x80c440a0    ( 441 kB)
  
        .bss : 0x80c47000 - 0x80cb7b40    ( 451 kB)
虚拟地址空间分配
  
 
  
 
  
 
  
 
  
start_kernel(void)
SLUB: HWalign=64, Order=0-3,  MinObjects=0, CPUs=1, Nodes=1
SLUB-- 内核对象缓冲区管理
Preemptible hierarchical RCU  implementation.
  
         Additional per-CPU info  printed with stalls.
  
         RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=1.
  
RCU: Adjusting geometry for  rcu_fanout_leaf=16, nr_cpu_ids=1
RCU -- Read-copy update内核中的读-拷贝-更新
NR_IRQS:16 nr_irqs:16 16
中断
mxc_clocksource_init 24000000
  
Switching to timer-based delay loop,  resolution 41ns
  
sched_clock: 32 bits at 24MHz, resolution  41ns, wraps every 89478484971ns
  
clocksource mxc_timer1: mask: 0xffffffff  max_cycles: 0xffffffff, max_idle_ns: 79      635851949 ns
时钟,
  
各计时器初始化
Console: colour dummy device 80x30
控制台
Calibrating delay loop (skipped), value  calculated using timer frequency.. 48.00       BogoMIPS (lpj=240000)
时延校准
pid_max: default: 32768 minimum: 301
 
Mount-cache hash table entries: 1024  (order: 0, 4096 bytes)
 
Mountpoint-cache hash table entries: 1024  (order: 0, 4096 bytes)
 
CPU: Testing write buffer coherency: ok
 
/cpus/cpu@0 missing clock-frequency  property
 
CPU0: thread -1, cpu 0, socket 0, mpidr  80000000
 
Setting up static identity map for  0x80008280 - 0x800082d8
 
Brought up 1 CPUs
 
SMP: Total of 1 processors activated  (48.00 BogoMIPS).
Symmetric Multiprocessing,
CPU: All CPU(s) started in SVC mode.
SVC-- supervisor mode
devtmpfs: initialized
设备初始化, devfs是文件系统形式的device  managertmpfs存在在内存和swap中,因此只能保存临时文件。devtmpfs是改进的devfs,也是存在内存中,挂载点是/dev/,缩短开机时间
device-tree: Duplicate name in  lcdif@021c8000, renamed to "display#1"
 
VFP support v0.3: implementor 41  architecture 2 part 30 variant 7 rev 5
VFPvector floating  point)向量浮点指令
clocksource jiffies: mask: 0xffffffff  max_cycles: 0xffffffff, max_idle_ns: 19112      604462750000 ns
 
pinctrl core: initialized pinctrl subsystem
芯片管脚控制子系统
NET: Registered protocol family 16
协议16
DMA: preallocated 256 KiB pool for atomic  coherent allocations
DMA
cpuidle: using governor ladder
  
cpuidle: using governor menu
空闲处理
hw-breakpoint: found 5 (+1 reserved)  breakpoint and 4 watchpoint registers.
  
hw-breakpoint: maximum watchpoint size is  8 bytes.
调试断点?
imx6ul-pinctrl 20e0000.iomuxc: initialized  IMX pinctrl driver
  
imx6ul-pinctrl 2290000.iomuxc-snvs:  initialized IMX pinctrl driver
芯片管脚控制
mxs-dma 1804000.dma-apbh: initialized
code.woboq.org/linux/linux/drivers/dma/mxs-dma.c.html
SCSI subsystem initialized
SCSI
usbcore: registered new interface driver  usbfs
  
usbcore: registered new interface driver  hub
  
usbcore: registered new device driver usb
USB
i2c i2c-1: IMX I2C adapter registered
  
i2c i2c-1: can't use DMA
I2C
media: Linux media interface: v0.10
media
Linux video capture interface: v2.00
video capture
pps_core: LinuxPPS API ver. 1 registered
  
pps_core: Software ver. 5.3.6 - Copyright  2005-2007 Rodolfo Giometti <giometti@l      inux.it>
PPS (pulse-per-second) signal connected  to a GPIO pin.
  
www.kernel.org/doc/Documentation/devicetree/bindings/pps/pps-gpio.txt
PTP clock support registered
PTP -- Precision Time Protocol
MIPI CSI2 driver module loaded
摄像头
Advanced Linux Sound Architecture Driver  Initialized.
Bluetooth: Core ver 2.20
  
NET: Registered protocol family 31
  
Bluetooth: HCI device and connection  manager initialized
  
Bluetooth: HCI socket layer initialized
  
Bluetooth: L2CAP socket layer initialized
  
Bluetooth: SCO socket layer initialized
蓝牙 socket laye
  
协议31
Switched to clocksource mxc_timer1
 
NET: Registered protocol family 2
协议2
TCP established hash table entries: 2048  (order: 1, 8192 bytes)
  
TCP bind hash table entries: 2048 (order:  2, 16384 bytes)
  
TCP: Hash tables configured (established  2048 bind 2048)
TCP
UDP hash table entries: 256 (order: 1,  8192 bytes)
  
UDP-Lite hash table entries: 256 (order:  1, 8192 bytes)
UDP
NET: Registered protocol family 1
 
RPC: Registered named UNIX socket  transport module.
  
RPC: Registered udp transport module.
  
RPC: Registered tcp transport module.
  
RPC: Registered tcp NFSv4.1 backchannel  transport module.
RPC
imx rpmsg driver is registered.
RPMsg  -- Remote Processor  Messaging 核间通讯
Bus freq driver module loaded
APIs are for setting bus frequency to low  or high
futex hash table entries: 256 (order: 2,  16384 bytes)
Fast Userspace muTexes快速用户空间互斥
VFS: Disk quotas dquot_6.6.0
  
VFS: Dquot-cache hash table entries: 1024  (order 0, 4096 bytes)
Virtual File system Switch为各类文件系统提供一个统一的操作界面和应用编程接口
NFS: Registering the id_resolver key type
Network File System
Key type id_resolver registered
  
Key type id_legacy registered
 
jffs2: version 2.2. (NAND) © 2001-2006  Red Hat, Inc.
Journalling Flash File System Version2(闪存日志型文件系统第2版)
fuse init (API version 7.23)
用户空间文件系统
io scheduler noop registered
  
io scheduler deadline registered
  
io scheduler cfq registered (default)
I/O调度器
imx-weim 21b8000.weim: Driver registered.
WEIM --Wireless External  Interface Module
backlight supply power not found, using  dummy regulator
 
MIPI DSI driver module loaded
  
MIPI DSI driver module loaded
MIPI(移动行业处理器接口)是Mobile  Industry Processor Interface
  
DSI  Display Serial Interface
21c8000.lcdif supply lcd not found, using  dummy regulator
  
mxsfb 21c8000.lcdif: failed to find mxc  display driver
  
Console: switching to colour frame buffer  device 60x34
  
mxsfb 21c8000.lcdif: initialized
显示相关
imx-sdma 20ec000.sdma: no event needs to  be remapped
  
imx-sdma 20ec000.sdma: loaded firmware  3.3
  
imx-sdma 20ec000.sdma: initialized
Freescale Smart DMA engine
2020000.serial: ttymxc0 at MMIO 0x2020000  (irq = 19, base_baud = 5000000) is a I      MX
  
console [ttymxc0] enabled
控制台
imx-rng 2284000.rngb: iMX RNG Registered.
  
imx sema4 driver is registered.
  
[drm] Initialized drm 1.1.0 20060810
  
[drm] Initialized vivante 1.0.0 20120216  on minor 0
  
brd: module loaded
  
loop: module loaded
  
nand: device found, Manufacturer ID:  0x2c, Chip ID: 0xda
  
nand: Micron MT29F2G08ABAEAWP
  
nand: 256 MiB, SLC, erase size: 128 KiB,  page size: 2048, OOB size: 64
  
gpmi-nand 1806000.gpmi-nand: enable the  asynchronous EDO mode 5
  
Bad block table found at page 131008,  version 0x01
  
Bad block table found at page 130944,  version 0x01
  
nand_read_bbt: bad block at  0x000000140000
各设备功能
4 cmdlinepart partitions found on MTD  device gpmi-nand
  
Creating 4 MTD partitions on  "gpmi-nand":
  
0x000000000000-0x000000500000 :  "boot"
  
0x000000500000-0x000000f00000 :  "kernel"
  
0x000000f00000-0x000001000000 :  "dtb"
  
0x000001000000-0x000010000000 :  "rootfs"
  
gpmi-nand 1806000.gpmi-nand: driver  registered.
nand4个分区
CAN  device driver interface
  
2188000.ethernet  supply phy not found, using dummy regulator
  
pps  pps0: new PPS source ptp0
  
fec  2188000.ethernet (unnamed net_device) (uninitialized): Invalid MAC  address:      00:00:00:00:00:00
  
fec  2188000.ethernet (unnamed net_device) (uninitialized): Using random MAC  addr     ess: 96:71:63:1b:34:5c
  
libphy:  fec_enet_mii_bus: probed
  
fec  2188000.ethernet eth0: registered PHC device 0
  
PPP  generic driver version 2.4.2
  
PPP  BSD Compression module registered
  
PPP  Deflate Compression module registered
  
PPP  MPPE Compression module registered
CAN  pps ppp设备
NET:  Registered protocol family 24
协议24
SLIP:  version 0.8.4-NET3.019-NEWTTY (dynamic channels, max=256) (6 bit  encapsula     tion enabled).
  
CSLIP:  code copyright 1989 Regents of the University of California.
  
SLIP  linefill/keepalive option.
Serial  Line Internet Protocol,串行线路网际协议
  
压缩的SLIP协议,常用在TelnetRlogin之类的应用程序中
ehci_hcd:  USB 2.0 'Enhanced' Host Controller (EHCI) Driver
  
ehci-mxc:  Freescale On-Chip EHCI Host driver
  
usbcore:  registered new interface driver usb-storage
  
usbcore:  registered new interface driver usb_ehset_test
  
2184800.usbmisc  supply vbus-wakeup not found, using dummy regulator
  
2184200.usb  supply vbus not found, using dummy regulator
  
ci_hdrc  ci_hdrc.1: EHCI Host Controller
  
ci_hdrc  ci_hdrc.1: new USB bus registered, assigned bus number 1
  
ci_hdrc  ci_hdrc.1: USB 2.0 started, EHCI 1.00
  
hub  1-0:1.0: USB hub found
  
hub 1-0:1.0:  1 port detected
USB
  
以下设备配置参考
  
git.freescale.com/git/cgit.cgi/imx/linux-imx.git/tree/arch/arm/boot/dts?h=imx_4.1.15_2.0.0_ga&id=rel_imx_4.1.15_2.0.0_ga
mousedev:  PS/2 mouse device common for all mice
mouse
input:  20cc000.snvs:snvs-powerkey as  /devices/platform/soc/2000000.aips-bus/20cc      000.snvs/20cc000.snvs:snvs-powerkey/input/input0
 
tp  reset gpio=131
 
msg  ft5x0x_i2c_rxdata i2c read error: -5
  
ft5x0x  read ID error!
  
ft5x06_ts:  probe of 1-0038 failed with error 161
  
ft5x0x_ts_init  successful
  
input:  iMX6UL TouchScreen Controller as  /devices/platform/soc/2000000.aips-bus/2      040000.tsc/input/input1
 
snvs_rtc  20cc000.snvs:snvs-rtc-lp: rtc core: registered 20cc000.snvs:snvs-r as r     tc0
 
i2c  /dev entries driver
 
IR NEC  protocol handler initialized
  
IR  RC5(x/sz) protocol handler initialized
  
IR RC6  protocol handler initialized
  
IR JVC  protocol handler initialized
  
IR Sony  protocol handler initialized
  
IR  SANYO protocol handler initialized
  
IR  Sharp protocol handler initialized
  
IR MCE  Keyboard/mouse protocol handler initialized
  
IR XMP  protocol handler initialized
 
pxp-v4l2  pxp_v4l2: initialized
 
usbcore:  registered new interface driver uvcvideo
  
USB  Video Class driver (1.1.1)
uvc摄像头
imx2-wdt  20bc000.wdog: use WDOG_B to reboot.
  
imx2-wdt  20bc000.wdog: timeout 60 sec (nowayout=0)
WDOG
Bluetooth:  HCI UART driver ver 2.3
  
Bluetooth:  HCI UART protocol H4 registered
  
Bluetooth:  HCI UART protocol BCSP registered
  
Bluetooth:  HCI UART protocol ATH3K registered
 
 
 
 
usbcore:  registered new interface driver btusb
  
usbcore:  registered new interface driver ath3k
 
 
sdhci:  Secure Digital Host Controller Interface driver
  
sdhci:  Copyright(c) Pierre Ossman
  
sdhci-pltfm:  SDHCI platform and OF driver helper
  
/soc/aips-bus@02100000/usdhc@02190000:  voltage-ranges unspecified
  
sdhci-esdhc-imx  2190000.usdhc: could not get ultra high speed state, work on nor     mal mode
  
sdhci-esdhc-imx  2190000.usdhc: Got CD GPIO
  
sdhci-esdhc-imx  2190000.usdhc: No vmmc regulator found
  
sdhci-esdhc-imx  2190000.usdhc: No vqmmc regulator found
  
mmc0:  SDHCI controller on 2190000.usdhc [2190000.usdhc] using ADMA
 
usbcore:  registered new interface driver usbhid
  
usbhid:  USB HID core driver
  
usbcore:  registered new interface driver snd-usb-audio
 
fsl-asrc  2034000.asrc: driver registered
 
NET:  Registered protocol family 26
协议26
NET:  Registered protocol family 10
协议10
sit:  IPv6 over IPv4 tunneling driver
IPv6
NET:  Registered protocol family 17
协议17
can:  controller area network core (rev 20120528 abi 9)
 
usb  1-1: new high-speed USB device number 2 using ci_hdrc
 
NET:  Registered protocol family 29
协议29
can:  raw protocol (rev 20120528)
  
can:  broadcast manager protocol (rev 20120528 t)
  
can:  netlink gateway (rev 20130117) max_hops=1
 
Bluetooth:  RFCOMM TTY layer initialized
  
Bluetooth:  RFCOMM socket layer initialized
  
Bluetooth:  RFCOMM ver 1.11
  
Bluetooth:  BNEP (Ethernet Emulation) ver 1.3
  
Bluetooth:  BNEP filters: protocol multicast
  
Bluetooth:  BNEP socket layer initialized
  
Bluetooth:  HIDP (Human Interface Emulation) ver 1.2
  
Bluetooth:  HIDP socket layer initialized
 
8021q:  802.1Q VLAN Support v1.8
 
Key  type dns_resolver registered
 
ubi0:  attaching mtd3
 
hub  1-1:1.0: USB hub found
  
hub  1-1:1.0: 2 ports detected
 
random:  nonblocking pool is initialized
 
usb  1-1.1: new high-speed USB device number 3 using ci_hdrc
 
ubi0:  scanning is finished
  
ubi0:  attached mtd3 (name "rootfs", size 240 MiB)
  
ubi0:  PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
  
ubi0:  min./max. I/O unit sizes: 2048/2048, sub-page size 2048
  
ubi0:  VID header offset: 2048 (aligned 2048), data offset: 4096
  
ubi0:  good PEBs: 1916, bad PEBs: 4, corrupted PEBs: 0
  
ubi0:  user volume: 1, internal volumes: 1, max. volumes count: 128
  
ubi0:  max/mean erase counter: 1/0, WL threshold: 4096, image sequence number:  17     6716376
  
ubi0:  **ailable PEBs: 0, total reserved PEBs: 1916, PEBs reserved for bad PEB  ha     ndling: 36
  
ubi0:  background thread "ubi_bgt0d" started, PID 81
Unsorted  block images  file system
  
 
  
physical  erase blocks (PEB)
dhd_module_init  in
 
input:  gpio-keys as  /devices/platform/gpio-keys/input/input2
gpio-keys
snvs_rtc  20cc000.snvs:snvs-rtc-lp: setting system clock to 2018-05-30 01:40:33 U     TC (1527644433)
 
gpio_dvfs:  disabling
 
VSD_3V3:  disabling
 
can-3v3:  disabling
 
ALSA  device list:
 
  No soundcards found.
 
UBIFS  (ubi0:0): recovery needed
  
UBIFS  (ubi0:0): recovery deferred
  
UBIFS  (ubi0:0): UBIFS: mounted UBI device 0, volume 0, name "rootfs", R/O  mode
  
UBIFS  (ubi0:0): LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes:  2048      bytes/2048 bytes
  
UBIFS  (ubi0:0): FS size: 236683264 bytes (225 MiB, 1864 LEBs), journal size  1180     8768 bytes (11 MiB, 93 LEBs)
  
UBIFS  (ubi0:0): reserved for root: 4952683 bytes (4836 KiB)
  
UBIFS  (ubi0:0): media format: w4/r0 (latest is w4/r0), UUID  043ED19B-DD8***3A5-B      3BD-DCA07BF64283, small LPT model
 
VFS:  Mounted root (ubifs filesystem) readonly on device 0:14.
virtual  File System
devtmpfs:  mounted
 
Freeing  unused kernel memory: 428K (80b6b000 - 80bd6000)
 
INIT:  version 2.88 booting
 
Starting  udev
 
udevd[117]:  starting version 3.1.5
 
UBIFS  (ubi0:0): completing deferred recovery
  
UBIFS  (ubi0:0): background thread "ubifs_bgt0_0" started, PID 141
  
UBIFS  (ubi0:0): deferred recovery completed
 
bootlogd:  cannot allocate pseudo tty: No such file or directory
 
Chip  Version Info: CHIP_8188E_Normal_Chip_TSMC_D_CUT_1T1R_RomVer(0)
 
EEPROM  ID = 0x8129
 
usbcore:  registered new interface driver r8188eu
 
ALSA:  Restoring mixer settings...
 
INIT: Entering runlevel: 5
 
/usr/sbin/alsactl:  load_state:1735: No soundcards found...
 
Configuring  network interfaces... fec 2188000.ethernet eth0: Freescale FEC PHY d     river [Generic PHY]  (mii_bus:phy_addr=2188000.ethernet:00, irq=-1)
 
IPv6:  ADDRCONF(NETDEV_UP): eth0: link is not ready
 
udhcpc  (v1.24.1) started
very  small DHCP client program
Sending  discover...
 
Sending  discover...
 
Sending  discover...
 
No  lease, forking to background
 
done.
 
Starting  system message bus: dbus.
 
Starting  OpenBSD Secure Shell server: sshd
 
done.
 
Starting  rpcbind daemon...done.
 
Starting  advanced power management daemon: No APM support in kernel
 
(failed.)
 
Starting  syslogd/klogd: done
 
* Starting **ahi mDNS/DNS-SD Daemon:  **ahi-daemon
 
   ...done.
 
Starting  Telephony daemon
 
Starting  Linux NFC daemon
 
Running  local boot scripts (/etc/rc.local).
 
xres =  480, yres = 272
 
Freescale  i.MX Release Distro 4.1.15-2.0.1 mys6ull14x14 /dev/ttymxc0
 
mys6ull14x14 login:
 





需要进一步学习的内容;
image source file--its, device tree source file--dts, itb,dtb,

flattened image tree, FIT uImage, Device Tree Source filesDTS, FDTflatteneddevice tree

 

ARM Architecture, ARM Core, ARM CPUARM SOC

设备树动态叠加技术, 添加设备的方法,“启用” 或者 “禁用”设备的方法


通讯方法,编程与调试方法......