The goal is to use neo board for a flight controller. The neo is running Debian on the ARM Cortex A9 and mqx (RTOS) on the ARM Cortex M4. Debian has a lot of bloat and goal is to use some image processing on the A9. So, the first step is to get a minimal Linux build, i.e buildroot.
Minimal Linux;
more ./meminfo
MemTotal: 499344 kB
MemFree: 352780 kB
MemAvailable: 350884 kB
Buffers: 752 kB
Cached: 1048 kB
Debian Linux:
MemTotal: 499376 kB
MemFree: 123968 kB
MemAvailable: 230188 kB
Created a basic configuration script and board info for buildroot. Success! buildroot compiles, u-boot, Linux and creates a file system. Here is the output:
U-Boot 2014.04-gedd0741 (Nov 15 2015 - 23:17:26)
CPU: Freescale i.MX6SX rev1.2 at 792 MHz
CPU: Temperature 36 C, calibration data: 0x5924f869
Reset cause: POR
Board: MX6SX UDOO NEO
I2C: ready
DRAM: 512 MiB
MMC: FSL_SDHC: 0, FSL_SDHC: 1
*** Warning - bad CRC, using default environment
In: serial
Out: serial
Err: serial
Found PFUZE300! deviceid 0x30, revid 0x11
Net: CPU Net Initialization Failed
No ethernet found.
Normal Boot
Hit any key to stop autoboot: 0
mmc0 is current device
reading uEnv.txt
426 bytes read in 9 ms (45.9 KiB/s)
Running bootscript from mmc ...
** File not found /var/opt/m4/m4last.fw **
reading /m4startup.fw
** Unable to read file /m4startup.fw **
## Starting auxiliary core at 0x84000000 ...
reading /zImage
4398312 bytes read in 211 ms (19.9 MiB/s)
Booting from mmc ...
reading dts/imx6sx-udoo-neo-basicks-hdmi-m4.dtb
39446 bytes read in 23 ms (1.6 MiB/s)
Kernel image @ 0x80800000 [ 0x000000 - 0x431ce8 ]
## Flattened Device Tree blob at 83000000
Booting using the fdt blob at 0x83000000
Using Device Tree in place at 83000000, end 8300ca15
sono entrato in ldo_mode_set
setto i valori
valore di vddarm 19
switch to ldo_bypass mode!
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 3.14.28-g9e7d486-dirty (tcmichals@tcmichals-Studio-540) (gcc version 4.9.3 (Buildroot 2015.11-git-00713-g4c55bc1-dirty) ) 5
[ 0.000000] CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] Machine model: UDOO Neo Basic Kickstarter (based on iMX.6 SoloX)
[ 0.000000] Reserved memory: reserved region for node 'm4@0x84000000': base 0x84000000, size 8 MiB
[ 0.000000] cma: CMA: reserved 320 MiB at 8c000000
[ 0.000000] Memory policy: Data cache writealloc
[ 0.000000] PERCPU: Embedded 8 pages/cpu @8bb3d000 s9152 r8192 d15424 u32768
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 128000
[ 0.000000] Kernel command line: console=ttymxc0,115200 root=/dev/mmcblk0p2 rootwait rootfstype=ext4 rw mem=512M uart_from_osc clk_ignore_unused cpu0
[ 0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 0.000000] Memory: 171404K/516096K available (5054K kernel code, 332K rwdata, 5656K rodata, 260K init, 384K bss, 344692K reserved, 0K highmem)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
[ 0.000000] vmalloc : 0xa0800000 - 0xff000000 (1512 MB)
[ 0.000000] lowmem : 0x80000000 - 0xa0000000 ( 512 MB)
[ 0.000000] pkmap : 0x7fe00000 - 0x80000000 ( 2 MB)
[ 0.000000] modules : 0x7f000000 - 0x7fe00000 ( 14 MB)
[ 0.000000] .text : 0x80008000 - 0x80a7dbcc (10711 kB)
[ 0.000000] .init : 0x80a7e000 - 0x80abf3c0 ( 261 kB)
[ 0.000000] .data : 0x80ac0000 - 0x80b13330 ( 333 kB)
[ 0.000000] .bss : 0x80b1333c - 0x80b73664 ( 385 kB)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] Preemptible hierarchical RCU implementation.
[ 0.000000] RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=1.
[ 0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
[ 0.000000] NR_IRQS:16 nr_irqs:16 16
[ 0.000000] L310 cache controller enabled
[ 0.000000] l2x0: 16 ways, CACHE_ID 0x410000c8, AUX_CTRL 0x32030000, Cache size: 256 kB
[ 0.000000] Switching to timer-based delay loop
[ 0.000007] sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 1431655765682ns
[ 0.000631] clocksource_of_init: no matching clocksources found
[ 0.000776] Console: colour dummy device 80x30
[ 0.000797] Calibrating delay loop (skipped), value calculated using timer frequency.. 6.00 BogoMIPS (lpj=30000)
[ 0.000811] pid_max: default: 32768 minimum: 301
[ 0.000932] Security Framework initialized
[ 0.000999] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.001012] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.006390] device-tree: Duplicate name in /soc/aips-bus@02200000/spba-bus@02200000/lcdif@02220000, renamed to "display#1"
[ 0.007636] Initializing cgroup subsys devices
[ 0.007652] Initializing cgroup subsys freezer
[ 0.007694] CPU: Testing write buffer coherency: ok
[ 0.007970] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[ 0.008007] Setting up static identity map for 0x804d0070 - 0x804d00c8
[ 0.041970] Brought up 1 CPUs
[ 0.041983] SMP: Total of 1 processors activated.
[ 0.041993] CPU: All CPU(s) started in SVC mode.
[ 0.042571] devtmpfs: initialized
[ 0.045927] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
[ 0.046258] pinctrl core: initialized pinctrl subsystem
[ 0.046597] regulator-dummy: no parameters
[ 0.062446] NET: Registered protocol family 16
[ 0.069988] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.070695] Use WDOG1 as reset source
[ 0.078897] syscon 20c8000.anatop: regmap [mem 0x020c8000-0x020c8fff] registered
[ 0.079204] vdd1p1: 800 <--> 1375 mV at 1100 mV
[ 0.079557] vdd3p0: 2800 <--> 3150 mV at 3000 mV
[ 0.079889] vdd2p5: 2100 <--> 2875 mV at 2500 mV
[ 0.080235] cpu: 725 <--> 1450 mV
[ 0.080649] vddpcie-phy: 725 <--> 1450 mV
[ 0.081002] vddsoc: 725 <--> 1450 mV
[ 0.082867] syscon 20e4000.iomuxc-gpr: regmap [mem 0x020e4000-0x020e7fff] registered
[ 0.085247] syscon 21bc000.ocotp-ctrl: regmap [mem 0x021bc000-0x021bffff] registered
[ 0.085670] syscon 21ac000.romcp: regmap [mem 0x021ac000-0x021affff] registered
[ 0.090652] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
[ 0.090664] hw-breakpoint: maximum watchpoint size is 4 bytes.
[ 0.091656] imx6sx-pinctrl 20e0000.iomuxc: initialized IMX pinctrl driver
[ 0.092519] 20dc000.gpc supply pu not found, using dummy regulator
[ 0.093265] MU is ready for cross core communication!
[ 0.099438] bio: create slab <bio-0> at 0
[ 0.100514] vref-3v3: 3300 mV
[ 0.100779] PSU-5V0: 5000 mV
[ 0.101035] usb_otg1_vbus: 5000 mV
[ 0.101299] usb_otg2_vbus: 5000 mV
[ 0.101558] wlan-en-regulator: 1800 mV
[ 0.102386] SCSI subsystem initialized
[ 0.102686] usbphy_nop1.12 supply vcc not found, using dummy regulator
[ 0.103972] i2c i2c-0: IMX I2C adapter registered
[ 0.104681] i2c i2c-1: IMX I2C adapter registered
[ 0.105398] i2c i2c-2: IMX I2C adapter registered
[ 0.105826] i2c i2c-3: IMX I2C adapter registered
[ 0.105933] Linux video capture interface: v2.00
[ 0.105997] pps_core: LinuxPPS API ver. 1 registered
[ 0.106007] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.106030] PTP clock support registered
[ 0.106547] Advanced Linux Sound Architecture Driver Initialized.
[ 0.107548] Loading modules backported from Linux version v4.1.7-0-g0c5c1f1
[ 0.107559] Backport integrated by backports.git v4.1.1-1-0-g8286954
[ 0.107750] Switched to clocksource mxc_timer1
[ 0.118052] NET: Registered protocol family 2
[ 0.118855] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.118907] TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
[ 0.118974] TCP: Hash tables configured (established 4096 bind 4096)
[ 0.119033] TCP: reno registered
[ 0.119049] UDP hash table entries: 256 (order: 1, 8192 bytes)
[ 0.119074] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[ 0.119312] NET: Registered protocol family 1
[ 0.119656] hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available
[ 0.121220] Bus freq driver module loaded
[ 0.121956] futex hash table entries: 256 (order: 2, 16384 bytes)
[ 0.131305] VFS: Disk quotas dquot_6.5.2
[ 0.131574] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[ 0.133382] msgmni has been set to 974
[ 0.137146] io scheduler noop registered
[ 0.137159] io scheduler deadline registered
[ 0.137202] io scheduler cfq registered (default)
[ 0.137672] imx-weim 21b8000.weim: Driver registered.
[ 0.139341] MIPI DSI driver module loaded
[ 0.268597] tda19988 2-0034: Sucessfully initialised chip revision 301
[ 0.279469] mxsfb 2220000.lcdif: failed to find mxc display driver
[ 0.279989] DISPLAY: Power-on latency exceeded, new value 482000 ns
[ 0.281428] DISPLAY: Power-off latency exceeded, new value 23666 ns
[ 0.297377] Console: switching to colour frame buffer device 160x45
[ 0.341529] tda19988 2-0034: Matching CEA mode is 4 for fb mode 1280x720-60
[ 0.393404] DISPLAY: Power-off latency exceeded, new value 24333 ns
[ 0.395104] mxsfb 2220000.lcdif: initialized
[ 0.397994] imx-sdma 20ec000.sdma: no iram assigned, using external mem
[ 0.398294] imx-sdma 20ec000.sdma: no event needs to be remapped
[ 0.398525] imx-sdma 20ec000.sdma: loaded firmware 3.1
[ 0.401396] imx-sdma 20ec000.sdma: initialized
[ 0.403057] pfuze100-regulator 0-0008: Full layer: 1, Metal layer: 1
[ 0.403631] pfuze100-regulator 0-0008: FAB: 0, FIN: 0
[ 0.403645] pfuze100-regulator 0-0008: pfuze3000 found.
[ 0.405074] SW1A: 700 <--> 1475 mV at 1175 mV
[ 0.406428] SW1B: 700 <--> 1475 mV at 1175 mV
[ 0.407200] SW2: 1500 <--> 1850 mV at 1800 mV
[ 0.407970] SW3: 900 <--> 1650 mV at 1350 mV
[ 0.408763] SWBST: 5000 <--> 5150 mV at 5000 mV
[ 0.409529] VSNVS: 1000 <--> 3000 mV at 3000 mV
[ 0.409709] VREFDDR: 750 mV
[ 0.410459] VLDO1: 1800 <--> 3300 mV at 1800 mV
[ 0.411225] VLDO2: 800 <--> 1550 mV at 1500 mV
[ 0.411984] VCCSD: 2850 <--> 3300 mV at 3150 mV
[ 0.412750] V33: 2850 <--> 3300 mV at 3150 mV
[ 0.413511] VLDO3: 1800 <--> 3300 mV at 1800 mV
[ 0.414721] VLDO4: 1800 <--> 3300 mV at 1800 mV
[ 0.415043] Serial: IMX driver
[ 0.415366] 2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 58, base_baud = 1500000) is a IMX
[ 1.222008] console [ttymxc0] enabled
[ 1.226515] 21ec000.serial: ttymxc2 at MMIO 0x21ec000 (irq = 60, base_baud = 1500000) is a IMX
[ 1.235586] serial: Freescale lpuart driver
[ 1.241166] imx sema4 driver is registered.
[ 1.245754] Install mcc tty driver!
[ 1.249353]
[ 1.249353] A9 mcc prepares run, MCC version is 002.000
[ 1.256127] IMX MCC TTY driver module loaded
[ 1.260506] [drm] Initialized drm 1.1.0 20060810
[ 1.265548] [drm] Initialized vivante 1.0.0 20120216 on minor 0
[ 1.275730] loop: module loaded
[ 1.281772] mousedev: PS/2 mouse device common for all mice
[ 1.288297] input: 20cc000.snvs-pwrkey as /devices/soc0/soc.0/2000000.aips-bus/20cc000.snvs-pwrkey/input/input0
[ 1.298724] snvs_pwrkey 20cc000.snvs-pwrkey: i.MX snvs powerkey probed
[ 1.306046] i2c /dev entries driver
[ 1.310405] IR NEC protocol handler initialized
[ 1.314949] IR RC5(x) protocol handler initialized
[ 1.319784] IR RC6 protocol handler initialized
[ 1.324322] IR JVC protocol handler initialized
[ 1.328874] IR Sony protocol handler initialized
[ 1.333497] IR RC5 (streamzap) protocol handler initialized
[ 1.339089] IR SANYO protocol handler initialized
[ 1.343799] IR MCE Keyboard/mouse protocol handler initialized
[ 1.350996] imx2-wdt 20bc000.wdog: IMX2+ Watchdog Timer enabled. timeout=60s (nowayout=0)
[ 1.359524] sdhci: Secure Digital Host Controller Interface driver
[ 1.365714] sdhci: Copyright(c) Pierre Ossman
[ 1.370108] sdhci-pltfm: SDHCI platform and OF driver helper
[ 1.376775] mmc0: no vqmmc regulator found
[ 1.380940] mmc0: no vmmc regulator found
[ 1.427779] mmc0: SDHCI controller on 2194000.usdhc [2194000.usdhc] using ADMA
[ 1.437528] sdhci-esdhc-imx 2198000.usdhc: could not get ultra high speed state, work on normal mode
[ 1.451215] mmc2: no vqmmc regulator found
[ 1.496107] mmc0: host does not support reading read-only switch. assuming write-enable.
[ 1.513945] mmc0: new high speed SDHC card at address aaaa
[ 1.519930] mmcblk0: mmc0:aaaa SL32G 29.7 GiB
[ 1.529986] mmcblk0: p1 p2
[ 1.577809] mmc2: SDHCI controller on 2198000.usdhc [2198000.usdhc] using ADMA
[ 1.585466] galcore: clk_get 2d core clock failed, disable 2d/vg!
[ 1.594703] Galcore version 5.0.11.25762
[ 1.618174] sdhci-esdhc-imx 2198000.usdhc: card claims to support voltages below defined range
[ 1.660120] mmc2: queuing unknown CIS tuple 0x91 (3 bytes)
[ 1.679048] mmc2: new high speed SDIO card at address 0001
[ 1.842102] fsl-asrc 2034000.asrc: driver registered
[ 1.852824] imx-tda19988 sound.24: tda19988-codec <-> 202c000.ssi mapping ok
[ 1.860853] nf_conntrack version 0.5.0 (7798 buckets, 31192 max)
[ 1.867586] ip_tables: (C) 2000-2006 Netfilter Core Team
[ 1.873017] TCP: cubic registered
[ 1.876347] NET: Registered protocol family 17
[ 1.880932] Key type dns_resolver registered
[ 1.885942] cpu cpu0: dev_pm_opp_get_opp_count: device OPP not found (-19)
[ 1.907799] failed to register cpuidle driver
[ 1.912198] A9-M4 sema4 num 6, A9-M4 magic number 0x12345678 - 0xfeb1b14b.
[ 1.919693] VLDO2: disabling
[ 1.923036] SWBST: disabling
[ 1.925939] usb_otg2_vbus: disabling
[ 1.929718] usb_otg1_vbus: disabling
[ 1.933340] PSU-5V0: disabling
[ 1.936430] vref-3v3: disabling
[ 1.939947] regulator-dummy: disabling
[ 1.944301] drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
[ 1.959938] clk: Not disabling unused clocks
[ 1.964242] ALSA device list:
[ 1.967224] #0: imx-audio-tda19988
[ 2.132758] EXT4-fs (mmcblk0p2): recovery complete
[ 2.142938] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[ 2.151190] VFS: Mounted root (ext4 filesystem) on device 179:2.
[ 2.161421] devtmpfs: mounted
[ 2.164930] Freeing unused kernel memory: 260K (80a7e000 - 80abf000)
[ 2.262641] EXT4-fs (mmcblk0p2): re-mounted. Opts: errors=remount-ro,data=ordered
Starting logging: OK
Initializing random number generator... [ 2.384638] random: dd urandom read with 38 bits of entropy available
done.
Waiting for network interfaces to appear ok
Starting network...
Welcome to Buildroot
buildroot login: [ 35.314378] random: nonblocking pool is initialized
No comments:
Post a Comment