交叉编译器

摘自官方wiki:http://wiki.friendlyarm.com/wiki/index.php/Smart4418/zh

首先下载并解压编译器:

sudo mkdir -p /opt/FriendlyARM/toolchain
sudo tar xf prebuilts/gcc-x64/arm-cortexa9-linux-gnueabihf-4.9.3.tar.xz -C /opt/FriendlyARM/toolchain/```
然后将编译器的路径加入到PATH中,用vi编辑vi ~/.bashrc,在末尾加入以下内容:

export PATH=/opt/FriendlyARM/toolchain/4.9.3/bin:$PATH
export GCC_COLORS=auto
执行一下~/.bashrc脚本让设置立即在当前shell窗口中生效,注意"."后面有个空格:

. ~/.bashrc
这个编译器是64位的,不能在32位的Linux系统上运行,安装完成后,你可以快速的验证是否安装成功:

Using built-in specs.
COLLECT_GCC=arm-linux-gcc
COLLECT_LTO_WRAPPER=/opt/FriendlyARM/toolchain/4.9.3/libexec/gcc/arm-cortexa9-linux-gnueabihf/4.9.3/lto-wrapper
Target: arm-cortexa9-linux-gnueabihf
Configured with: /work/toolchain/build/src/gcc-4.9.3/configure --build=x86_64-build_pc-linux-gnu
–host=x86_64-build_pc-linux-gnu --target=arm-cortexa9-linux-gnueabihf --prefix=/opt/FriendlyARM/toolchain/4.9.3
–with-sysroot=/opt/FriendlyARM/toolchain/4.9.3/arm-cortexa9-linux-gnueabihf/sys-root --enable-languages=c,c++
–with-arch=armv7-a --with-tune=cortex-a9 --with-fpu=vfpv3 --with-float=hard

Thread model: posix
gcc version 4.9.3 (ctng-1.21.0-229g-FA)```

串口工具

  • putty或者MobaXterm

U-boot编译与烧写

编译U-Boot
下载U-Boot源代码并编译,注意分支是nanopi2-lollipop-mr1:

cd uboot_nanopi2
git checkout nanopi2-lollipop-mr1
make s5p4418_nanopi2_config
make CROSS_COMPILE=arm-linux-```
编译成功结束后您将获得u-boot.bin,您可以通过fastboot来更新正在运行的NanoPi2板上SD的U-Boot,方法如下:

  1. 在电脑上先用命令 sudo apt-get install android-tools-fastboot 安装 fastboot 工具;
  2. 用串口配件连接开发板和电脑,在上电启动的2秒内,在串口终端上按下回车,进入 u-boot 的命令行模式;
  3. 在u-boot 命令行模式下输入命令 fastboot 回车,进入 fastboot 模式;
  4. 用microUSB线连接Smart4418和电脑,在电脑上输入以下命令烧写u-boot.bin:
    fastboot flash bootloader u-boot.bin

注意:您不能直接使用dd来更新SD卡,否则有可能会导致无法正常启动。

板子进入fastboot模式后,电脑设备管理器会新增Google ADB设备,若显示Android 1.0设备,并且有感叹号提示,安装驱动精灵解决。如果虚拟机中执行fastboot flash bootloader u-boot.bin显示<wait for device>,就换windows下的fastboot工具,百度网盘下载:链接: https://pan.baidu.com/s/1LQRQAM6aFHWJAZg-HOMuEA 密码: r3bn

将虚拟机中编译好的uboot.bin拷出来

G:\ARM\tools\fastboot烧写工具\platform-tools>fastboot.exe flash bootloader u-boot.bin  //烧写uboot
sending ‘bootloader’ (243 KB)…
OKAY [ 0.323s]
writing ‘bootloader’…
OKAY [ 0.149s]
finished. total time: 0.473s
 
G:\ARM\tools\fastboot烧写工具\platform-tools>fastboot.exe reboot  //重启开发板
rebooting…
 
finished. total time: 0.000s
 
G:\ARM\tools\fastboot烧写工具\platform-tools>

板子重启2秒内按任意键,进去uboot模式,输出信息可以看到uboot的更新时间;

这样更新的前提是板子已经烧了uboot,如果板子上本来没有uboot呢?求解

裸机程序下载工具

以下是4412的工具,4418上貌似用不了,4418运行裸机程序可以看这个->S5P4418裸机开发(三):运行裸机程序
dnw:参考:Tiny4412裸机开发过程(四) — 点亮LED灯和下载裸机程序

源码下载链接: https://pan.baidu.com/s/1fuksm84-yg5biaXq9XjYtQ 密码: juuy
Makefile修改参考:ubuntu16 dnw for tiny4412

如果是ubuntu12工具应该能make然后直接使用,在ubuntu16编译会报错(需要修改驱动的makefile):

Ubuntu16.04下要修改:
vim ./src/driver/Makefile
将原本的内容全部替换为

LINUX_KERNEL_PATH:=/lib/modules/$(shell uname -r)/buildall:$(MAKE) -C $(LINUX_KERNEL_PATH) M=$(CURRENT_PATH) modules
clean:   rm -rf .*.cmd *.o *.mod.c *.ko .tmp_versionsobj-m += secbulk.o

然后make
make

./src/driver目录下会生成 secbulk.ko 模块;
insmod secbulk.ko安装该模块
lamod可以查看已安装的模块

然后在dnw_linux 目录下执行 sudo make install
输出信息

使用dnw:

Default load address: 0x57e00000

S5P4418裸机开发(一):相关工具准备相关推荐

  1. S5P4418裸机开发(二):LED点灯

    板子型号:友善之臂Smart4418 板子原理图:Smart-1608 S5P4418芯片手册:Pi2_SOC_DS_0.1.pdf 查看原理图: PDF中搜LED: 以LED1为例,连接引脚是W24 ...

  2. S5P4418裸机开发(十二):IRQ (按键中断) 串口中断

    S5P4418 64个中断源,按键的GPIO口是GPIOB28-30,中断号为54: Interrupt Controller相关寄存器 寄存器 功能 VICIRQSTATUS R,相关位为1表示该I ...

  3. 嵌入式linux启动过程分析,嵌入式Linux裸机开发(二)——S5PV210启动过程分析

    嵌入式Linux裸机开发(二)--S5PV210启动过程分析 一.iROM启动方式简介 友善之臂Smart210开发板的SoC为三星S5PV210,S5PV210采用iROM启动方式进行启动,通过查阅 ...

  4. Cubieboard2裸机开发之(四)定时器操作

    前言 在Cubieboard2裸机开发之(三)里用到了一个延时函数delay,它的延时时间是不精确的,因此为了能够精确延时,就需要定时器的配合.定时器可以精确延时的一个重要原因是它的计时时钟(或者说频 ...

  5. 嵌入式Linux裸机开发(六)——S5PV210时钟系统

    嵌入式Linux裸机开发(六)--S5PV210时钟系统 一.时钟系统简介 外设工作需要一定频率的时钟,这些时钟都由系统时钟提供.系统时钟一般由外部低频24MHZ晶体振荡器通过锁相环电路PLL倍频产生 ...

  6. Exynos4412 裸机开发—— 流水灯

    这里我们使用的开发板是4412,开发板4412上有4个LED灯,我们这里可以利用其来做流水灯实验.下面是4个LED的原理图: 查看原理图,4412开发板的LED由CPX2_7 CPX1_0 GPF3_ ...

  7. 12016.xilinx裸机开发

    文章目录 1 xilinx 裸机开发 1 xilinx 裸机开发 1 首先需要一个 sdk 项目,一般由fpga工程师提供配置的 2 新建fsbl工程 3 新建hello测试工程

  8. arm-linux-gcc 裸机程序,Linux下ARM裸机开发-交叉工具链

    初识linux下ARM的裸机开发全过程.现在总结如下: 首先说明为什么要学习裸机开发,一方面bootloader的编写要用到裸机开发的知识,另一方面就是驱动的开发.一般情况下我们进行的系统上的开发. ...

  9. 第七课 Linux裸机开发+SourceInsight3.5使用+notepad++使用

    一.Linux裸机开发 名词解释:gcc gcc是linux系统下主要的编译软件, gcc的全称是GNU编译器套件(GNU Compiler Collection), 除了可以编译c语言开发的程序外, ...

  10. 6410裸机开发教程下载

    6410裸机开发教程下载 转载于:https://www.cnblogs.com/tanghuimin0713/p/3857593.html

最新文章

  1. android中getMeasuredHeigh()为0的问题
  2. PIC单片机学习之独立按键
  3. OpenERP 源码安装一招鲜
  4. java paintComponent的一些解读
  5. python读取文件每行_python – 在文本文件中的每4行读取,编辑和写入
  6. 编程实现 无符号减法溢出判断
  7. cdn搭建原理_直播平台搭建并不难,最难的是这两点
  8. 【C++ 与 STL】集合:set
  9. java 基础 ppt_《Java基础入门》PPT_传智播客.rar
  10. PPT——背景图格式(排版)和字体排版
  11. 入职美团定级P7,总结2022年最新最全180道高级岗面试题及答案
  12. 大龄码农的新西兰移民之路
  13. 企业微信账号异常,解决攻略
  14. java基础-java概述,基本数据类型,基础语法
  15. Altium Designer 19卡顿的解决方法
  16. 中国剩余定理模数不互素的情况
  17. 用python爬取码市的数据简单分析
  18. Hud检测之图像点数计算
  19. AlexNet网络结构详解与代码复现
  20. 浅析 ContentSizeFitter 以及 Horizontal Layout Group 嵌套问题

热门文章

  1. 【Codecs系列】视频编码中的率失真优化RDO技术
  2. 3DMAX的vray自发光材质为什么渲出来是黑的?
  3. 工作第九周:勇敢的少年,快去创造奇迹!
  4. EVE-NG 入门教程 (Mac OSX BIg Sur)
  5. 在计算机硬盘使用前需要做的工作是,工作电脑的硬盘该如何保养
  6. ASP利用IP138获IP地理位置
  7. 如何使用智遥工作流为SAP节省License实例
  8. 人生有三重境界:看山是山,看水是水;看山不是山,看水不是水;看山还是山,看水还是水
  9. 每日一题系列:考拉有n个字符串,任意两个字符串长度都是不同的。考拉最近学习到两种字符串的排序方法
  10. vscode撤销删除快捷键_在Windows资源管理器中使用键盘快捷键撤消意外移动或删除...