文件组织结构

一、ZYNQ BSP文件组织

1、includes:文件主要包含 BSP 工程在编译 BASE 和编译工具链中需要用到的头文件;

2、SylixOS:文件夹包含 BSP 工程的主要程序代码,由三个子文件夹组成:

1)bsp 文件夹主要包含系统启动的程序框架代码,包括汇编代码、内存映射、BSP
     参数配置等。整个 BSP 工程编译完之后,此文件夹内还会生成 symbol.c 和
2)symbol.h 两个包含符号表的文件。
3)driver 文件夹主要包含整个操作系统运行时需要用到的底层硬件的驱动代码。
4)user 文件夹里面只有一个文件 main.c,整个 main.c 里只有一个接口,用于在
    操作系统系统成功启动之后,创建出一个 tshell 终端。
5)config.h 用于配置系统的 ROM,RAM 等参数。
6)Makefile包含要编译的目标
7)srcs.mk用于编译平台相同的代码
8)bspbuild.mk用于链接脚本、平台名字
9)config.ld 用于生成config.lds文件,即内相关内容
10) SylixOSBSP.ld用于连接BSP工程

3、工程里其余的文件主要是用于对整个工程编译和链接的配置。
1)config.mk,Makefile 用于编译 BSP 工程。

4、整个 BSP 工程编译完成之后,还会自动生成另外一个文件夹。工程如果是 debug
模式,则会生成一个 Debug 文件夹;反之,其模式是 release 模式,则会生成一个
Release 文件夹。生成的这个文件夹包含编译完成最终生成的 elf 文件和 bin 文件。

二、Debug目录展开:

1、dep (各源文件编译时的依赖关系);
2、obj (编译时生成的中间目标文件);
3、strip (去除调试用的符号信息后的elf文件);

三、SylixOS目录展开:

bsp:该文件夹主要包含系统启动的程序框架代码,包括汇编代码、内存映射、BSP参数配置等。整个BSP工程编译完成之后,此文件夹内还会生成 symbol.c 和 symbol.h 两个包含符号表的文件。bsp目录下的文件主要完成内核启动前(Time/Vmm/Cache等)的初始化,并调用Base工程libsylixos 中的内核启动接口完成内核的启动,然后创建t_boot内核线程用于初始化总线和注册驱动,以及相关的内核组件等(具体请参考源代码分析)。

driver:文件夹下主要包含整个操作系统运行时需要用到的底层硬件的驱动代码。该目录下的驱动应将 在 bspinit.c 文件中通过驱动注册接口注册到内核中。SylixOS为各类外设搭建了相应的驱动框架, 用户可以在 base 工程的 system 目录下找到对应驱动框架的源码和接口。部分驱动框架的分析将
在后文进行讲解。

user: 目录下只有一个文件main.c,该文件为t_main内核线程的实现。此文件主要用于添加内核线程和 启动Shell(Lw_TShell_Create)。另外,在 driver 目录下的驱动程序编写完成后,可以通过在 main.c 中添加测试程序或创建测试线程来测试驱动程序是否能够正常稳定地工作。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值