打印
[i.MX]

MX6 SoloX bare metal startup

[复制链接]
1186|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)

相关帖子

沙发
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

粉丝