IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> ti_66ak运行SylixOS -> 正文阅读

[嵌入式]ti_66ak运行SylixOS

一、TI_66AK u-Boot 启动流程

Ti_66ak 是德州仪器公司设计的高性能多核arm + dsp处理器,包含4个arm核和 8 个dsp核。

本文将以spi nor flash启动方式分析Ti_66ak u-Boot 启动流程。在该模式下 66ak 将默认 arm 为启动主核。该启动流程分为两个阶段,首先在板子上电后,RBL(ROM BOOT LOADER) 将首先从spi nor flash将小的(约10K)启动程序(SPL u-Boot)加载到地址为0xc200000的MSM(Multicore shared memory)并执行,然后,此SPL u-Boot将从偏移量为0x10000的spi nor flash处读出完整的U-Boot镜像(u-boot-keystone-evm.img)加载到地址为0xc001000处的MSM并执行。

启动分为两个阶段的主要原因是一阶段加载SPL u-Boot时时钟频率较低,速度较慢,一阶段加载完后,SPL U-Boot会初始化ARM 0 核的PLL,以提高时钟频率。此后二阶段加载U-Boot 镜像时速度将大大加快。

二、u-Boot 固化

u-Boot固化需要用到ti官方提供的CCS工具,固化流程如下:
1.板卡启动模式设置为no-boot模式。拨码开关如图1所示:
图1 no-boot启动模式拨码开关
图1 no-boot启动模式拨码开关
2.启动板卡,待LCD屏上显示boot complete,启动CCS Debug。CCS Debug 配置如图2所示。
图2 CCS Debug
图2 CCS Debug
ccxml 文件创建方式如下:
(1)View–>Target Configurations
(2)右击Target Configurations工作区,点击New Target Configurations,设置名字和路径,ccxml配置如图3所示。
图3 ccxml 配置图3 ccxml 配置

3.连接CortexA15_1。如图4所示。
图4 连接CortexA15_1
图4 连接CortexA15_1
4.Tools–>load memory,加载U-Boot镜像。具体配置如图5所示。
图5 load memory具体配置
图5 load memory具体配置
图5 load memory具体配置
5.设置PC指针,view–>registers。具体设置如图6所示。
图6 设置PC指针
图6 设置PC指针
6.点击运行,可以在串口中看到u-boot 命令行。然后运行以下命令:
tftp 0xc300000 u-boot.gph
Sf probe
sf erase 0x0 <文件大小(0x10000的整数倍)>
sf write 0xc300000 0x0 <文件大小>

三、arm 核启动

arm端4个核在SMP(对称多处理器结构)模式下运行SylixOS。u-Boot 将镜像加载到运行地址后,arm0核会先执行系统镜像,然后0核会唤醒其余3核。需要注意的是在运行多核之前需要利用TI官方提供的skern-keystone-evm.bin文件,将该文件加载到0x0c5f0000地址处,并执行mon_install 0x0c5f0000指令进行安装。
u-Boot加载arm端镜像是通过翼辉信息IDE提供的tftp工具实现的。具体设置如图7所示。
打开IDE,点击tools–>tftp,设置镜像路径,点击save,然后点击start。
图7 tftp设置
图7 tftp设置
图7 tftp设置
最后在u-Boot上输入
tftp 0x80000000 bspevmk2h.bin;
tftp 0x0c5f0000 skern-keystone-evm.bin;
mon_install 0x0c5f0000;
go 0x80000000;

arm启动时需要注意的问题:

  1. arm端使用的是Crotex-A15架构,该架构自旋锁需要cache支持,因此在启动时需要设置自旋锁不依赖cache,否则会卡死在armspinlock()。具体设置是在启动参数中添加sldepcache=yes,参数前后要有空格。如图8所示。
    图8 启动参数设置图8 启动参数设置
  2. 因为u-Boot 固化在spi flash中,所以启动时需要将板子的启动方式切换为spi启动模式。拨码开关的设置是将图1 中的3号拨码开关拨上去,4号拨下来。
  3. 通过CCS加载arm端镜像具体操作如下:
    首先需要加载gel文件,该文件是ti官方提供的用于初始化硬件的文件,可以在ccs的安装目录下找到。具体路径是ccsv5\ccs_base\emulation\boards。该路径下存放着对应各个板卡的gel文件。我们要用的文件保存在xtcievmk2xm目录下。(ccs5.0 可能没有arm端的初始化文件,需要自己找)。
    gel文件加载方式如图9所示。
    首先打开ccxml文件,点击Advance,然后添加gel文件路径。
    图9 加载gel文件图9 加载gel文件
    图9 加载gel文件
  4. 通过仿真器加载arm多核时,需要执行全局初始化,因为arm1-3核启动时,电源默认关闭。具体操作为:在正确加载完gel文件并启动之后,点击 Scripts 选项,找到 Global setup slience.(该操作会调用gel文件中的 Global setup slience() 函数,初始化arm1-3核的psc)

四、dsp核启动

66ak中有8个C66x架构的dsp处理器,这8个核是运行在AMP模式下,首先由arm唤醒dsp0核,然后dsp0核会唤醒其余7核。
arm核启动dsp时,首先会将dsp镜像的运行地址填入Boot Magic address(类似存放启动地址的寄存器),Boot Magic address一般是每个dsp核私有ddr的最后四个字节。然后arm核会向dsp0核发送ipc中断,dsp0核收到中断后将会从Boot Magic address中读出起动地址,然后跳转到操作系统入口开始运行程序。在SylixOS中将dsp镜像作为文件存贮在arm文件系统里,加载运行dsp通过指令
activeSlaveCore 【核id】 【镜像路径】执行。
该指令首先会解析dsp镜像(镜像应当为elf文件),并加载到指定位置,然后会按照上述流程启动dsp。

Dsp加载时需要注意:dsp 加载的地址需要arm做过映射才可以访问,否则会报memory map。因为arm和dsp公用一块ddr空间,为了能够和arm不产生地址冲突 ,arm使用的地址空间是0x80000000~0x90000000,dsp使用的是0x90000000之后的空间,arm映射的地址空间是0x80000000-0xb0000000。
dsp镜像空间的映射类型应当避免是不进行提前映射的类型(如图10),该类型在MMU初始化时不会进行映射,而是需要用户在使用时通过malloc等接口进行申请。本设计中使用的是LW_PHYSICAL_MEM_BOOTSFR类型。

图10 地址映射类型
图10 地址映射类型

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-08-23 16:51:02  更:2021-08-23 16:53:17 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/29 9:00:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计