查看: 4527|回复: 0

RT1052 首次运行ucLinux

[复制链接]
  • TA的每日心情
    开心
    2024-4-10 22:38
  • 签到天数: 1335 天

    [LV.10]以坛为家III

    88

    主题

    4292

    帖子

    12

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    9049
    最后登录
    2024-4-13
    发表于 2018-11-11 13:15:34 | 显示全部楼层 |阅读模式
    这次试用的RT1052处理器被称为跨界处理器,因为其不仅有MCU的价格而且具有MPU的高性能。今天要使用的ucLinux操作系统也是一个跨界的产物。
            在嵌入式系统里由于资源有限,所以MCU一般都是踝机运行,一方面其占用的资源较少;另一方面MCU的也的确仅仅运行单一处理事务,不需要复杂的综合处理;在高级应用里开源的操作系统就当属linux了,可是此linux偏偏需要一个MMU的东西——内存管理单元,在MMU的管理下,linux可以正常运行处理复杂逻辑与多种应用,声音与图像齐具。现在问题就来了,RT1052这类的MCU是没有MMU的,于是ucLinux就出现了。
            ucLinux的启动是需要较复杂与庞大的BSP支持的,飞凌公司已经在官方为我们编译好了,所以我们只需要下载并运行之。
            与其它linux系统一下,我们可以使用串口来打印出来系统启动的系统,我这次使用了xshell软件记录了启动信息,如下:

    1. U-Boot 2017.09-rc1-g597daa3 (Aug 06 2018 - 14:56:38 +0800)

    2. CPU: i.MX RT105x at 528MHz
    3. Model: NXP i.RT1050 EVK
    4. DRAM:  32 MiB
    5. MMC:   FSL_SDHC: 0
    6. SF: Detected w25q128bv with page size 256 Bytes, erase size 64 KiB, total 16 MiB
    7. *** Warning - bad CRC, using default environment

    8. Video: 480x272x24
    9. In:    serial@40184000
    10. Out:   serial@40184000
    11. Err:   serial@40184000
    12. Net:   eth0: ethernet@402D8000
    13. Hit any key to stop autoboot:  0
    14. SF: Detected w25q128bv with page size 256 Bytes, erase size 64 KiB, total 16 MiB
    15. device 0 offset 0x80000, size 0x400000
    16. SF: 4194304 bytes @ 0x80000 Read: OK
    17. device 0 offset 0x70000, size 0x10000
    18. SF: 65536 bytes @ 0x70000 Read: OK
    19. ## Booting kernel from Legacy Image at 80007fc0 ...
    20.    Image Name:   Linux-4.5.0-g50baef1-dirty
    21.    Image Type:   ARM Linux Kernel Image (uncompressed)
    22.    Data Size:    3032352 Bytes = 2.9 MiB
    23.    Load Address: 80008000
    24.    Entry Point:  80008001
    25.    Verifying Checksum ... OK
    26. ## Flattened Device Tree blob at 81000000
    27.    Booting using the fdt blob at 0x81000000
    28.    XIP Kernel Image ... OK
    29.    Loading Device Tree to 81e67000, end 81e6cbb2 ... OK

    30. Starting kernel ...

    31. Booting Linux on physical CPU 0x0
    32. Linux version 4.5.0-g50baef1-dirty (bluesky@developer-RH2485-V2) (gcc version 4.7.4 20130508 (prerelease) (20170818-165657- build on build.emcraft by build) ) #76 Mon Aug 6 15:12:10 CST 2018
    33. CPU: ARMv7-M [411fc271] revision 1 (ARMv7M), cr=00000000
    34. CPU: WBA data cache, WBA instruction cache
    35. Machine model: NXP IMXRT1050 board
    36. Built 1 zonelists in Zone order, mobility grouping off.  Total pages: 8128
    37. Kernel command line: rootfstype=jffs2 root=/dev/mtdblock4 rw
    38. PID hash table entries: 128 (order: -3, 512 bytes)
    39. Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
    40. Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
    41. Memory: 28324K/32768K available (2343K kernel code, 113K rwdata, 432K rodata, 72K init, 94K bss, 4444K reserved, 0K cma-reserved)
    42. Virtual kernel memory layout:
    43.     vector  : 0x00000000 - 0x00001000   (   4 kB)
    44.     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    45.     vmalloc : 0x00000000 - 0xffffffff   (4095 MB)
    46.     lowmem  : 0x80000000 - 0x82000000   (  32 MB)
    47.       .text : 0x80008000 - 0x802bdde8   (2776 kB)
    48.       .init : 0x802be000 - 0x802d0000   (  72 kB)
    49.       .data : 0x802d0000 - 0x802ec520   ( 114 kB)
    50.        .bss : 0x802ec520 - 0x80303f7c   (  95 kB)
    51. NR_IRQS:16 nr_irqs:16 16
    52. sched_clock: 32 bits at 75MHz, resolution 13ns, wraps every 28633115129ns
    53. clocksource: vf-pit: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 25483472618 ns
    54. Calibrating delay loop... 1196.85 BogoMIPS (lpj=5984256)
    55. pid_max: default: 4096 minimum: 301
    56. Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
    57. Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
    58. devtmpfs: initialized
    59. clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    60. pinctrl core: initialized pinctrl subsystem
    61. NET: Registered protocol family 16
    62. imxrt105x-pinctrl 40a8000.iomuxc_snvs: initialized IMX pinctrl driver
    63. imxrt105x-pinctrl 401f8000.iomuxc: initialized IMX pinctrl driver
    64. SCSI subsystem initialized
    65. usbcore: registered new interface driver usbfs
    66. usbcore: registered new interface driver hub
    67. usbcore: registered new device driver usb
    68. pps_core: LinuxPPS API ver. 1 registered
    69. pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    70. PTP clock support registered
    71. clocksource: Switched to clocksource vf-pit
    72. NET: Registered protocol family 2
    73. TCP established hash table entries: 1024 (order: 0, 4096 bytes)
    74. TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
    75. TCP: Hash tables configured (established 1024 bind 1024)
    76. UDP hash table entries: 256 (order: 0, 4096 bytes)
    77. UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
    78. NET: Registered protocol family 1
    79. RPC: Registered named UNIX socket transport module.
    80. RPC: Registered udp transport module.
    81. RPC: Registered tcp transport module.
    82. RPC: Registered tcp NFSv4.1 backchannel transport module.
    83. futex hash table entries: 16 (order: -5, 192 bytes)
    84. jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
    85. fuse init (API version 7.24)
    86. Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
    87. io scheduler noop registered
    88. io scheduler cfq registered (default)
    89. mxsfb 402b8000.lcdif: initialized
    90. 40184000.serial: ttyLP0 at MMIO 0x40184000 (irq = 44, base_baud = 375000) is a FSL_LPUART
    91. Serial: Console lpuart rounded baud ratefrom 187500 to 115200
    92. console [ttyLP0] enabled
    93. 40188000.serial: ttyLP1 at MMIO 0x40188000 (irq = 45, base_baud = 375000) is a FSL_LPUART
    94. Serial: VF610 driver
    95. fsl-flexspi 402a8000.flexspi: w25q128 (16384 Kbytes)
    96. 5 ofpart partitions found on MTD device 402a8000.flexspi
    97. Creating 5 MTD partitions on "402a8000.flexspi":
    98. 0x000000000000-0x000000050000 : "uboot"
    99. 0x000000050000-0x000000070000 : "uboot_env"
    100. 0x000000070000-0x000000080000 : "dtb"
    101. 0x000000080000-0x000000480000 : "kernel"
    102. 0x000000480000-0x000001000000 : "rootfs"
    103. libphy: fec_enet_mii_bus: probed
    104. PPP generic driver version 2.4.2
    105. PPP BSD Compression module registered
    106. PPP Deflate Compression module registered
    107. ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
    108. ehci-mxc: Freescale On-Chip EHCI Host driver
    109. usbcore: registered new interface driver cdc_acm
    110. cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
    111. usbcore: registered new interface driver uas
    112. usbcore: registered new interface driver usb-storage
    113. ci_hdrc ci_hdrc.0: doesn't support gadget
    114. ci_hdrc ci_hdrc.0: EHCI Host Controller
    115. ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1
    116. ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00
    117. hub 1-0:1.0: USB hub found
    118. hub 1-0:1.0: 1 port detected
    119. ci_hdrc ci_hdrc.1: EHCI Host Controller
    120. ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 2
    121. ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00
    122. hub 2-0:1.0: USB hub found
    123. hub 2-0:1.0: 1 port detected
    124. i2c /dev entries driver
    125. input: TSC2007 Touchscreen as /devices/platform/soc/soc:aips-bus@40000000/403f0000.lpci2c/i2c-0/0-0048/input/input0
    126. rtc-rx8010 0-0032: rtc core: registered rx8010 as rtc0
    127. i2c i2c-0: LPI2C adapter registered
    128. sdhci: Secure Digital Host Controller Interface driver
    129. sdhci: Copyright(c) Pierre Ossman
    130. sdhci-pltfm: SDHCI platform and OF driver helper
    131. sdhci-esdhc-imx 402c0000.esdhc: could not get default state
    132. /soc/aips-bus@40000000/esdhc@402c0000: voltage-ranges unspecified
    133. mmc0: SDHCI controller on 402c0000.esdhc [402c0000.esdhc] using DMA
    134. usbcore: registered new interface driver usbhid
    135. usbhid: USB HID core driver
    136. NET: Registered protocol family 17
    137. input: gpio-keys as /devices/platform/gpio-keys/input/input1
    138. rtc-rx8010 0-0032: setting system clock to 2018-10-22 22:41:44 UTC (1540248104)
    139. VFS: Mounted root (jffs2 filesystem) on device 31:4.
    140. devtmpfs: mounted
    141. Freeing unused kernel memory: 72K (802be000 - 802d0000)
    142. init started: BusyBox v1.24.2 (2018-08-06 15:10:58 CST)
    复制代码



            从启动信息我们可以看到,首先调用了uboot,然后启动Kernel。从启动信息也看到,此次使用的kernel也是emcraft提供的。不得不感叹一下emcraft对于ucLinux的支持力度之大。
            之后我又试用了一些命令,此版本的ucLinux所支持的指令还是非常多的,此后的试用将基于ucLinux而开展,好有期待~~

    该会员没有填写今日想说内容.
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-4-26 23:32 , Processed in 0.116095 second(s), 20 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表