电子说
1.开发板简介
OK113i-S开发板采用核心板+底板的结构形式,基于全志T113-i处理器设计开发,处理器为ARMCortex-A7, RISCV, HiFi4 DSP多核异构架构,主频1.2GHz,核心板有两种规格,分别是512MB DDR3L内存加8GB eMMC版本和256MB DDR3L内存加256MB SPI Nand版本。OK113i-S开发板将核心板的功能接口资源丰富、提供多种外设接口,如网卡、CPU内置音频Codec、ADC、TF Card、LVDS、RGB、WIFI、4G等功能接口。
2.上电测试
根据官方提供操作手册,通过串口调试进入命令行界面。默认波特率为115200,无校验位。
2.1 查看开发板资源信息
通过命令可以看到本次使用的开发板运行的linux内核版本为5.4,开发板内存大小为512MB,flash大小为512MB。
2.2 配置wifi上网
本开发板带有WIFI模块,可通过命令终端完成WIFI上网配置。
根据官方提供操作手册,WIFI仅支持2.4G频段信号。支持STA和AP模式。在/etc提供有配置脚本文件wlan-connect.sh。
STA模式使用方式如下:
root@ok113i:/# /etc/wlan-connect.sh ssid psk mode ssid 为wifi名字 psk 为wifi密码 mode工作模式:0无密码,1为WPA/WPA2加密,2为wep加密方式
连接示例:
测试网络是否成功可通过ifconfig命令查看网卡信息,使用ping命令测试网络是否畅通。
3.编译内核
在官方提供资料中有相关Linux内核源码,编译器。
该该资源拷贝到PC端Linux用户目录下。
//md5 校验 [wb@wbyq okii3i]$ md5sum OK113i-linux-sdk.tar.bz2.* //解压 [wbyq@wbyq okii3i]$ cat OK113i-linux-sdk.tar.bz2.* | tar jxv
3.1 编译
在编译源码之前,需要安装一下工具。
[wbyq@wbyq OK113i-linux-sdk]$ sudo apt-get install flex [wbyq@wbyq OK113i-linux-sdk]$ sudo apt-get install bison [wbyq@wbyq OK113i-linux-sdk]$ sudo apt-get install openssl [wbyq@wbyq OK113i-linux-sdk]$ sudo apt-get install libssl-dev [wbyq@wbyq OK113i-linux-sdk]$ sudo apt-get install u-boot-tools
接下来,只需按官方操作手册完成即可,例如全编译:
[wbyq@wbyq okii3i]$ cd OK113i-linux-sdk/ #进入配置源码位置 [wbyq@wbyq OK113i-linux-sdk]$ ./build.sh config //执行配置命令 分别选择 0 linux, 0 ok113i, 0 default, 3. lcd_1024x600 Welcome to mkscript setup progress All available platform: 0. linux Choice [linux]: 0 All available board: 0. ok113i Choice [ok113i]: 0 All available flash: 0. default 1. nor 2. nand Choice [default]: 0 All available display_type: 0. tvout_pal 1. tvout_ntsc 2. lcd_800x480 3. lcd_1024x600 4. mipi_1024x600 5. lvds_1280x800 Choice [lvds_1280x800]: 3 运行编译脚本进行全编译: [wbyq@wbyq OK113i-linux-sdk]$ ./build.sh pack
编译内核示例:
[wbyq@wbyq okii3i]$ cd OK113i-linux-sdk/ [wbyq@wbyq OK113i-linux-sdk]$ ./build.sh kernel //执行编译内核命令
4.程序测试
程序猿的世界,总是从“hello,world”开始,接下来,安装交叉编译器,编写测试示例。
查看编译器版本信息:
[wbyq@wbyq okii3i]$ ./arm-buildroot-linux-gnueabi_sdk-buildroot/bin/arm-linux-gnueabi-gcc -v 使用内建 specs。 COLLECT_GCC=/media/wbyq/wxs/okii3i/arm-buildroot-linux-gnueabi_sdk-buildroot/opt/ext-toolchain/bin/arm-linux-gnueabi-gcc COLLECT_LTO_WRAPPER=/media/wbyq/wxs/okii3i/arm-buildroot-linux-gnueabi_sdk-buildroot/opt/ext-toolchain/bin/../libexec/gcc/arm-linux-gnueabi/7.3.1/lto-wrapper 目标:arm-linux-gnueabi 配置为:'/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/arm-linux-gnueabi/snapshots/gcc.git~linaro-7.3-2018.05/configure' SHELL=/bin/bash --with-mpc=/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/arm-linux-gnueabi/_build/builds/destdir/x86_64-unknown-linux-gnu --with-mpfr=/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/arm-linux-gnueabi/_build/builds/destdir/x86_64-unknown-linux-gnu --with-gmp=/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/arm-linux-gnueabi/_build/builds/destdir/x86_64-unknown-linux-gnu --with-gnu-as --with-gnu-ld --disable-libmudflap --enable-lto --enable-shared --without-included-gettext --enable-nls --with-system-zlib --disable-sjlj-exceptions --enable-gnu-unique-object --enable-linker-build-id --disable-libstdcxx-pch --enable-c99 --enable-clocale=gnu --enable-libstdcxx-debug --enable-long-long --with-cloog=no --with-ppl=no --with-isl=no --disable-multilib --with-float=soft --with-mode=thumb --with-tune=cortex-a9 --with-arch=armv7-a --enable-threads=posix --enable-multiarch --enable-libstdcxx-time=yes --enable-gnu-indirect-function --with-build-sysroot=/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/arm-linux-gnueabi/_build/sysroots/arm-linux-gnueabi --with-sysroot=/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/arm-linux-gnueabi/_build/builds/destdir/x86_64-unknown-linux-gnu/arm-linux-gnueabi/libc --enable-checking=release --disable-bootstrap --enable-languages=c,c++,fortran,lto --build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu --target=arm-linux-gnueabi --prefix=/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/arm-linux-gnueabi/_build/builds/destdir/x86_64-unknown-linux-gnu 线程模型:posix gcc 版本 7.3.1 20180425 [linaro-7.3-2018.05 revision d29120a424ecfbc167ef90065c0eeb7f91977701] (Linaro GCC 7.3-2018.05)
编写hello,world程序,通过arm-linux-gnueabi-gcc -v进行编译,将生成的文件拷贝到开发板下运行:
开发板下运行效果:
审核编辑 黄宇
全部0条评论
快来发表一下你的评论吧 !