导航

    全志在线开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 在线文档
    • 社区主页

    OK113i-S 编译环境相关 -工具链,内核,文件系统,flash操作工具,flash分区方案 串口

    飞凌嵌入式专区
    1
    1
    374
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • W
      weilin1375 LV 2 最后由 编辑

      交叉工具链:
      gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabi(内核)
      arm-buildroot-linux-gnueabi_sdk-buildroot(应用)

      内核:
      配置文件是OK113I_linux_defconfig,实际编译时源码编译生成的中间文件在out/kernel/build中,参与编译的.config也位于out/kernel/build目录中。
      大部分驱动文件位于kernel/linux-5.4/drivers中,少部分驱动在kernel/linux-5.4下的其他文件夹中,例如网桥驱动位于kernel/linux-5.4/net/bridge中。

      文件系统:
      我们在开发过程中经常需要在文件系统中添加一些工具,大多数工具都可以通过buildroot编译添加,在T113i的buildroot/buildroot-201902/package目录下有各种工具命令的配置。
      我们在buildroot移植MQTT(mosquitto)为例进行介绍。
      1、配置文件介绍
      首先了解一下buildroot中移植功能时涉及到的配置文件,我们查看源码的已有配置文件,查看buildroot/buildroot-201902/package/mosquitto,里边包括几个文件:
      Config.in mosquitto.mk mosquitto.hash S50mosquitto mosquitto.service
      Config.in:
      这个文件通过BR2_PACKAGE_** 作为开关来,告知buildroot这个包是否要参与编译,通过该文件进入图形配置界面修改编译状态。类似于内核中的Kconfig文件,修改的内容存放在out/t113_i/ok113i/longan/buildroot/.config(emmc编译路径),源文件是buildroot/buildroot-201902/configs/OK113I_linux_defconfig配置文件。
      例如:package/Config.in 中写了调用关系source "package/mosquitto/Config.in",package/mosquitto/Config.in中写了BR2_PACKAGE_MOSQUITTO信息。

      demo.mk:
      这个文件中声明一些包的信息,比如指定包的版本,包源码下载链接,存放路径,编译规则,工具链等。编译时会按照这个文件中的下载地址和版本下载源码包到指定路径,并进行编译和文件拷贝。相当于Makefile文件。
      例如mosquitto.mk,文件开头先写了软件包版本和下载地址,我们在浏览器访问该地址,可以找到对应版本的软件包。编译时,如果源码中没有该文件,就会自动下载。

      demo.hash:
      这个文件记录下载的源码包的hash校验码,防止下载的源码包出错。
      demo.service:
      此文件是为systemd服务 ,systemd开机后悔依据此文件启动demo服务,在demo.mk中会指定此文件的源路径已经安装路径。目前T113i没有使用该服务。
      S50demo:
      此文件类似demo.service,是目前T113i在使用的开机服务类型。其中Config.in和demo.mk是必须的,其他文件按需配置。具体配置内容可参考已有文件和实际情况书写。mosquitto已经有写好的配置文件,可以直接用,一般配置文件由项目的维护者或开发者提供,如果自己移植的文件没有配置文件,可以参考已有配置文件写一个。

      USART: /dev/ttyS* 应用层通用API操作串口
      波特率修改:vi OK113i-linux-sdk/kernel/linux-5.4/arch/arm/boot/dts/sun8iw20p1.dtsi
      root@ok113i:/# mount -t debugfs none /sys/kernel/debug
      root@ok113i:/# cat /sys/kernel/debug/clk/clk_summary
      cat /sys/devices/platform/soc@3000000/2501000.uart/ctrl_info

      1 条回复 最后回复 回复 引用 分享 0
      • 1 / 1
      • First post
        Last post

      Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

      行为准则 | 用户协议 | 隐私权政策