[i.MX] MX6 SoloX bare metal startup

[复制链接]
1674|4
 楼主| FSL_TICS_Rita 发表于 2015-9-29 15:47 | 显示全部楼层 |阅读模式
飞思卡尔21IC支持小组推出手把手学会i.MX开发系列十八、MX6 SoloX bare metal startup
关于i.mx6SoloX板子,我们这边也刚开始用,还在熟悉中,后续还有文档分享给大家。


According to section 13.5 (Cortex-M4 Boot Requirements) of the i.MX6SX  Reference Manual :
• Cortex-A9 always boots as the primary core.
• Cortex-M4 does not have a boot ROM and at POR is not provided a clock.
• Cortex-A9 ROM is responsible for the following:
• Loading and authenticating A9 bootloader and initiating Cortex-M4
firmware as a unified image.
• Setting up Cortex-M4 initial exception table in TCRAML
• Launching the Cortex-M4 by enabling its clock.

In addition :  M4 obtains minimal initial vector table, containing

a) Initial Stack pointer
b) Reset vector
c) NMI vector

from a fixed location (zero offset) in TCM(L) after A9 enables it’s clock.

So, A9 (bootloader) is responsible for:

    Configuring M4 initial vector table  in TCM(L) ;
    Loading M4 code ;
    Configuring CSU and RDC for TrustZone (if needed)
      and A9/M4 domain separation ;
    Enabling M4 clock.

   Please look at the enclosed projects, which help to understand how to build, load
and run startup codes for both Cortex-A9 and Cortex-M4 cores of i.MX6 SoloX.

  Also note : the i.MX6 SoloX has two cores with different address mapping.
Please refer to Table 2-1 (System memory map) for Cortex-A9 core and
to Table 2-2 (CM4 memory map) for Cortex-M4 of the i.MX6 SoloX
Reference Manual. To run Cortex-M4 it is needed to fill TCM(L), that
is addressed as TCML ALIAS (from zero). The same memory is mapped
to 0x007f8000 of the Cortex-A9 (non-reflected in the Table 2-1).
Note, this area is accessible by the Cortex-A9 after M4 clock is enabled
in CCM_CCGR3.

The following resources may be helpful, when working with i.MX6 SoloX :
“How to configure Real View ICE  and RealView debugger  to work with i.MX6 SoloX”

https://community.freescale.com/docs/DOC-106198
“Integrating Processor Expert for i.MX and ARM GCC with Eclipse”

https://community.freescale.com/docs/DOC-103736

“I.MX6SX start M4 from U-Boot with QSPI flash”

https://community.freescale.com/message/499465


MX6SX_hello_MFG.7z.zip (829.46 KB, 下载次数: 9)

mini1986 发表于 2015-10-9 09:24 | 显示全部楼层
好帖,收藏了,谢谢分享......楼主辛苦了......
mini1986 发表于 2016-2-19 16:39 | 显示全部楼层
L2.6.35_1.1.0_130130_source.tar.gz这个包好早啊......为啥不用新的呢......
zhangzhe7 发表于 2017-12-12 18:02 | 显示全部楼层

首先用飞思卡尔提供的应用测试去测试从车机尾线处接了摄像头,使用 ./test_d.bin -ow 1980 -oh 720命令是可以成功显示。
当我连接usb摄像头有在dev下多了一个video0;我在之前接尾线可以的测试代码里面修改:
char v4l_capture_dev[100] = "/dev/video2";
char v4l_output_dev[100] = "/dev/video17";
执行命令./test_d.bin -ow 1980 -oh 720后出现如下错误:
TV decoder chip is
VIDIOC_S_INPUT failed
Setup v4l capture failed.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

26

主题

6158

帖子

94

粉丝
快速回复 在线客服 返回列表 返回顶部