国产化SOC开发计划

国产化SOC开发计划

1 熟悉SOC的组成和开发套件的使用

这个阶段是刚刚拿到国产化SOC开发板的最初阶段,该阶段需要完成的工作有:

1,安装开发套件,并且学会使用开发套件,并且能够进行上电调试;

2,粗略的过一遍开发板原理图,看看哪些外设需要开发驱动,以及整个SOC芯片对应引脚分布,以及重要器件的保护和电源分布以及上电要求;

3,过一遍简单过一遍开发手册,了解芯片的功能概述和体系架构,通过芯片架构图了解其内部组成,核心性能的评估,总线连接关系和时钟的分布。

该阶段的开发时间估计大概为3天左右。

2 调试SOC相关使用外设

这个阶段主要是设计芯片的外设驱动,并且测试自己完成的驱动函数。完成了功能调试还需要完成规范的封装,这样使用起来才算是方便的驱动程序。通过数据手册可以知道芯片的外设主要有:

  1. 芯片时钟的配置,主要是配置其芯片内部锁相环的倍频与分频,用来提供芯片核心时钟和所有外设时钟;

周期:开发时间与调试时间:1天。

  1. 芯片定时器与中断的配置,主要用来完成定时器中断的实现,在应用层程序中能够提供精确定时;

周期:未出现问题的开发时间与调试时间为3天(定时器配置1天,中断2天),出现了问题可能需要4-5天或者更长。

  1. GPIO口的配置,主要是用来完成离散量的输入和输出功能;

周期:未出现问题的开发时间与调试时间为1天,出现了问题可能需要2-3天或者更长。

  1. UART外设的配置,主要是用来完成串口的通信功能;

周期:未出现问题的开发时间与调试时间为2天,出现了问题可能需要3-4天。

  1. 1553B总线的配置,主要用来完成1553B的通信功能;

周期:未出现问题的开发时间与调试时间为3-4天,出现了问题可能需要1周。

 

  1. CAN总线的配置,主要用来完成CAN总线的通信功能;

周期:未出现问题的开发时间与调试时间为2-3天,出现了问题可能需要4-5天。

  1. QSPI接口的配置与FLASH的读写驱动,主要用来完成FLASH的读写,用于程序加载。

周期:未出现问题的开发时间与调试时间为4天,(QSPI接口配置2天,FLASH驱动设计两天),出现了问题可能需要1周。

  1. SPI接口的配置与FLASH的读写驱动,主要用来完成FLASH的读写,用于程序加载。

周期:未出现问题的开发时间与调试时间为2-3天,出现了问题可能需要4-5天。

  1. IIC接口的配置与eeprom的读写驱动,eeprom用来存储掉电配置信息,IIC接口用来控制IIC接口的传感器等。

周期:未出现问题的开发时间与调试时间为2-3天,出现出现了问题可能需要4-5天。

  1. DDR3外扩内存的配置,主要用来完成外扩内存的使用,在片上内存不够的情况下使用。

周期:未出现问题的开发时间与调试时间为3天,出现问题可能需要4-5天。

  1. DMA控制器的配置,主要用来完成数据的快速搬移,在CPU工作的同时完成指定地址的数据迁移。

周期:未出现问题的情况下开发时间与调试时间为4-5天,出现问题可能需要1周。

3 研究SOC启动流程,分析整个运行过程  

到这个阶段基本对整个国产SOC有了一定的掌握程度了,此时可以开始研究该芯片的启动流程了,主要是内部ARM核的程序搬移和指令的跳转,以及整个程序的文件组成。在启动的过程代码中,多数是汇编文件,需要掌握一些ARM的指令集才能有效的阅读其源码,并且还要掌握ARM的相关体系架构,熟悉其协处理器与主核怎么配置才能实现中断的跳转和堆栈的搭建。在该SOC工程中还有一个scatt,该文件类似于zynq的ld文件,但是又有很大不同,这两类文件都是链接内存地址分配和数据存储位置的文件,也需要掌握。

1,研究771提供的启动流程,理解整个启动过程,开发周期可能只需要1周左右。

2,但是想要随时修改内存链接文件,修改启动过程代码,完成双核的应用以及系统的搭载,那么就需要去研究ARM指令集和体系架构,该过程的开发周期可能需要数周以上。

### 使用 Conda 安装 LabelMe 的教程 #### 创建 Python 虚拟环境 为了确保软件包之间的兼容性和隔离开发环境,建议先创建一个新的 Anaconda 环境。考虑到不同版本的Python可能引起依赖冲突,推荐使用较低版本如 Python 3.6 或者 3.7 来安装 LabelMe[^2]。 ```bash conda create -n labelme python=3.7 -y ``` 此命令会建立名为 `labelme` 的新环境并指定 Python 版本为 3.7。 #### 激活新建的虚拟环境 一旦完成上述步骤之后,需激活刚创建好的环境以便在其内部继续执行后续指令: ```bash conda activate labelme ``` 这一步骤使得所有接下来的操作都在这个独立环境中进行而不影响其他项目的配置。 #### 安装必要的依赖项 对于 LabelMe 工具而言,PyQt5 是其图形界面的重要组成部分之一;而由于国内网络原因可能导致下载速度较慢甚至失败的情况发生,因此可以借助豆瓣源加速获取过程: ```bash pip install pyqt5 -i https://pypi.doubanio.com/simple/ ``` 这条语句通过指定了一个更快捷有效的镜像站点来加快 PyQT5 库文件的下载进度。 #### 正式安装 LabelMe 最后,在准备就绪的前提下可以直接调用 pip 命令来进行 LabelMe 自身及其余所需组件的一键部署工作同样采用优化后的索引地址以提高效率: ```bash pip install labelme -i https://pypi.doubanio.com/simple/ ``` 至此整个基于 Conda 的 LabelMe 安装流程已经结束,用户只需按照提示重启程序即可正常使用该标注工具了[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值