您的位置 首页 硬件

AM335x(TQ335x)学习笔记——运用dtb方法发动内核

老式的u-boot使用ATAGS的方式启动linux内核,本文使用新式的dtb方式启动内核。我使用的内核是linux-3172版本,下面开始编译内核。(1)

旧式的u-boot运用ATAGS的方法发动linux内核,本文运用新式的dtb方法发动内核。

我运用的内核是linux-3.17.2版别,下面开端编译内核。

(1) 解压内核

  1. tarjxflinux-3.17.2.tar.bz2

(2)装备linux内核,因为am335x在内核中都归为omap2系列,故能够运用如下指令:

  1. makeARCH=armomap2plus_defconfig

(3)编译内核:

  1. makeARCH=armCROSS_COMPILE=arm-linux-gnueabi–j8

我的linux东西链前缀是arm-linux-gnueabi-,这个需求依据自己的实践的东西链状况进行替换。

(4)编译dtb:

  1. makeARCH=armCROSS_COMPILE=arm-linux-gnueabi-am335x-evm.dtb

(5)制造发动盘:

将SD格局化为FAT体系,将MLO、u-boot.img拷贝到根目录下。

在根目录下创立boot目录,将编译好的zImage和am335x-evm.dtb拷贝到该目录下。

(6)u-boot指令行发动Linux内核

  1. loadmmc00x88000000/boot/am335x-evm.dtb
  2. loadmmc00x82000000/boot/zImage
  3. bootz0x82000000-0x88000000

至此,Linux内核就能发动了,看到的Log信息如下:

  1. U-Boot#loadmmc0${fdtaddr}/boot/tq335x.dtb
  2. 34720bytesreadin9ms(3.7MiB/s)
  3. U-Boot#loadmmc0${loadaddr}/boot/zImage
  4. 4385928bytesreadin243ms(17.2MiB/s)
  5. U-Boot#bootz${loadaddr}-${fdtaddr}
  6. Kernelimage@0x82000000[0x000000-0x42ec88]
  7. ##FlattenedDeviceTreeblobat88000000
  8. Bootingusingthefdtblobat0x88000000
  9. LoadingDeviceTreeto8fff4000,end8ffff79f…OK
  10. Startingkernel…
  11. [0.000000]BootingLinuxonphysicalCPU0x0
  12. [0.000000]Linuxversion3.17.2(lilianrong@AY140721164813287e77Z)(gccversion4.7.3(Ubuntu/Linaro4.7.3-12ubuntu1))#1SMPMonNov1020:46:04CST2014
  13. [0.000000]CPU:ARMv7Processor[413fc082]revision2(ARMv7),cr=10c5387d
  14. [0.000000]CPU:PIPT/VIPTnonaliasingdatacache,VIPTaliasinginstructioncache
  15. [0.000000]Machinemodel:TIAM335xEVM
  16. [0.000000]cma:Reserved16MiBat9e800000
  17. [0.000000]Memorypolicy:Datacachewriteback
  18. [0.000000]HighMemzone:1048574pagesexceedsfreesize0
  19. [0.000000]CPU:AllCPU(s)startedinSVCmode.
  20. [0.000000]AM335XES2.1(sgxneon)
  21. [0.000000]PERCPU:Embedded9pages/cpu@dfa9a000s14336r8192d14336u36864
  22. [0.000000]Built1zonelistsinZoneorder,mobilitygroupingon.Totalpages:129792
  23. [0.000000]Kernelcommandline:console=ttyO0,115200n8root=ubi0:rootfsrwubi.mtd=9,2048rootfstype=ubifsrootwait=1
  24. [0.000000]PIDhashtableentries:2048(order:1,8192bytes)
  25. [0.000000]Dentrycachehashtableentries:65536(order:6,262144bytes)
  26. [0.000000]Inode-cachehashtableentries:32768(order:5,131072bytes)
  27. [0.000000]Memory:484792K/523264Kavailable(5668Kkernelcode,647Krwdata,2208Krodata,406Kinit,8210Kbss,38472Kreserved,0Khighmem)
  28. [0.000000]Virtualkernelmemorylayout:
  29. [0.000000]vector:0xffff0000-0xffff1000(4kB)
  30. [0.000000]fixmap:0xffc00000-0xffe00000(2048kB)
  31. [0.000000]vmalloc:0xe0800000-0xff000000(488MB)
  32. [0.000000]lowmem:0xc0000000-0xe0000000(512MB)
  33. [0.000000]pkmap:0xbfe00000-0xc0000000(2MB)
  34. [0.000000]modules:0xbf000000-0xbfe00000(14MB)
  35. [0.000000].text:0xc0008000-0xc07b9478(7878kB)
  36. [0.000000].init:0xc07ba000-0xc081f800(406kB)
  37. [0.000000].data:0xc0820000-0xc08c1d08(648kB)
  38. [0.000000].bss:0xc08c1d08-0xc10c68e0(8211kB)
  39. [0.000000]HierarchicalRCUimplementation.
  40. [0.000000]RCUrestrictingCPUsfromNR_CPUS=2tonr_cpu_ids=1.
  41. [0.000000]RCU:Adjustinggeometryforrcu_fanout_leaf=16,nr_cpu_ids=1
  42. [0.000000]NR_IRQS:16nr_irqs:1616
  43. [0.000000]IRQ:FoundanINTCat0xfa200000(revision5.0)with128interrupts
  44. [0.000000]Totalof128interruptson1activecontroller
  45. [0.000000]OMAPclockeventsource:timer2at24000000Hz
  46. [0.000016]sched_clock:32bitsat24MHz,resolution41ns,wrapsevery178956969942ns
  47. [0.000065]OMAPclocksource:timer1at24000000Hz
  48. [0.000805]Console:colourdummydevice80x30
  49. [0.000857]Lockdependencyvalidator:Copyright(c)2006RedHat,Inc.,IngoMolnar
  50. [0.000865]…MAX_LOCKDEP_SUBCLASSES:8
  51. [0.000873]…MAX_LOCK_DEPTH:48
  52. [0.000880]…MAX_LOCKDEP_KEYS:8191
  53. [0.000888]…CLASSHASH_SIZE:4096
  54. [0.000895]…MAX_LOCKDEP_ENTRIES:32768
  55. [0.000902]…MAX_LOCKDEP_CHAINS:65536
  56. [0.000909]…CHAINHASH_SIZE:32768
  57. [0.000916]memoryusedbylockdependencyinfo:5167kB
  58. [0.000924]pertask-structmemoryfootprint:1152bytes
  59. [0.000966]Calibratingdelayloop…996.14BogoMIPS(lpj=4980736)
  60. [0.079040]pid_max:default:32768minimum:301
  61. [0.079436]SecurityFrameworkinitialized
  62. [0.079561]Mount-cachehashtableentries:1024(order:0,4096bytes)
  63. [0.079574]Mountpoint-cachehashtableentries:1024(order:0,4096bytes)
  64. [0.081771]CPU:Testingwritebuffercoherency:ok
  65. [0.082962]CPU0:thread-1,cpu0,socket-1,mpidr0
  66. [0.083083]Settingupstaticidentitymapfor0x8055f030-0x8055f0a0
  67. [0.086327]Broughtup1CPUs
  68. [0.086346]SMP:Totalof1processorsactivated.
  69. [0.086356]CPU:AllCPU(s)startedinSVCmode.
  70. [0.088958]devtmpfs:initialized
  71. [0.097809]VFPsupportv0.3:implementor41architecture3part30variantcrev3
  72. [0.134392]omap_hwmod:tptc0usingbrokendtdatafromedma
  73. [0.134758]omap_hwmod:tptc1usingbrokendtdatafromedma
  74. [0.135103]omap_hwmod:tptc2usingbrokendtdatafromedma
  75. [0.143122]omap_hwmod:debugss:_wait_target_disablefailed
  76. [0.201002]pinctrlcore:initializedpinctrlsubsystem
  77. [0.203537]regulator-dummy:noparameters
  78. [0.233163]NET:Registeredprotocolfamily16
  79. [0.241735]DMA:preallocated256KiBpoolforatomiccoherentallocations
  80. [0.243918]cpuidle:usinggovernorladder
  81. [0.243946]cpuidle:usinggovernormenu
  82. [0.255876]OMAPGPIOhardwareversion0.1
  83. [0.271254]omap-gpmc50000000.gpmc:couldnotfindpctldevfornode/pinmux@44e10800/nandflash_pins_s0,deferringprobe
  84. [0.271303]platform50000000.gpmc:Driveromap-gpmcrequestsprobedeferral
  85. [0.275826]NoATAGs?
  86. [0.275857]hw-breakpoint:debugarchitecture0x4unsupported.
  87. [0.319359]edma-dma-engineedma-dma-engine.0:TIEDMADMAenginedriver
  88. [0.320718]vbat:5000mV
  89. [0.321481]lis3_reg:noparameters
  90. [0.324766]SCSIsubsysteminitialized
  91. [0.325577]usbcore:registerednewinterfacedriverusbfs
  92. [0.325755]usbcore:registerednewinterfacedriverhub
  93. [0.329802]usbcore:registerednewdevicedriverusb
  94. [0.330683]omap_i2c44e0b000.i2c:couldnotfindpctldevfornode/pinmux@44e10800/pinmux_i2c0_pins,deferringprobe
  95. [0.330726]platform44e0b000.i2c:Driveromap_i2crequestsprobedeferral
  96. [0.330784]omap_i2c4802a000.i2c:couldnotfindpctldevfornode/pinmux@44e10800/pinmux_i2c1_pins,deferringprobe
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/yingjian/256212.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部