嵌入式linux开发学习笔记 一

2021年底生活轨迹和工作内容都做了重大改变,换了城市,换了工作领域,工作平台和工作内容也是相差甚远。花了大概一年半的时间在学习探索熟悉新的工作内容以及工作方式。不想把原来的知识沉淀给荒废掉,所以希望记录点什么,一来好记性不如烂笔头,而来也能督促勉励自己。

linux开发板 : JZ2440, 主控:s3c2440,虽然板子有点老,但是知识是具有继承性的,还是从这里开始吧。

1.uboot 配置以及编译

 下载uboot-1.6.1源码 以及 补丁文件

1)解压: tar -xvf  uboot-1.6.1.tar.bz2  

2)打patch : cd uboot-1.6.1 

                  patch -p1 < ../u-boot-1.1.6_jz2440.patch 

                 (../ 根据实际路径而定, p1 - 忽略第一个斜杠之前的内容 也即 uboot-1.6.1的目录路径)

3)配置

    make 100ask2440_config

OBJTREE		:= $(if $(BUILD_DIR),$(BUILD_DIR),$(CURDIR))
SRCTREE		:= $(CURDIR)
TOPDIR		:= $(SRCTREE)
LNDIR		:= $(OBJTREE)
export	TOPDIR SRCTREE OBJTREE

MKCONFIG	:= $(SRCTREE)/mkconfig
export MKCONFIG

100ask24x0_config    :    unconfig
    @$(MKCONFIG) $(@:_config=) arm arm920t 100ask24x0 NULL s3c24x0 

OBJTREE        := $(if $(BUILD_DIR),$(BUILD_DIR),$(CURDIR))
SRCTREE        := $(CURDIR)
TOPDIR        := $(SRCTREE)
LNDIR        := $(OBJTREE)
export    TOPDIR SRCTREE OBJTREE

MKCONFIG    := $(SRCTREE)/mkconfig
export MKCONFIG

100ask24x0_config    :    unconfig
    @$(MKCONFIG) $(@:_config=) arm arm920t 100ask24x0 NULL s3c24x0  
 等价于:
      mkconfig 100ask24x0 arm arm920t 100ask24x0 NULL s3c24x0 
     
     格式为$(var:str1=str2) 将变量var中的str1用str2替换,类似于$(patsubst str1,str2,$(var))
     @$ 用在规则里表明不显示执行过程,只显示结果。
     
mkconfig:

(1).
while [ $# -gt 0 ] ; do
    case "$1" in
    --) shift ; break ;;
    -a) shift ; APPEND=yes ;;
    -n) shift ; BOARD_NAME="${1%%_config}" ; shift ;; 
    *)  break ;;
    esac
done

$# :传入的参数个数  
-gt : 大于
shift 加数字表示左移n,不加数字,默认是1
$1 : 第一个参数,即 100ask24x0

没有 -- -a -n *等元素,所以这里就什么都不做。

(2).
[ "${BOARD_NAME}" ] || BOARD_NAME="$1"   //如果没定义 BOARD_NAME,则 BOARD_NAME = 100ask24x0; note: if 前面成立,后面就不执行

(3)
[ $# -lt 4 ] && exit 1   #参数总数小于4个,exit
[ $# -gt 6 ] && exit 1   #参数总数大于6个,exit

(4)
if [ -z "$6" -o "$6" = "NULL" ] ; then
    ln -s ${LNPREFIX}arch-$3 asm-$2/arch
else
    ln -s ${LNPREFIX}arch-$6 asm-$2/arch
fi

-z :判空
-o :并且
 

4) 编译 make

此时目录下会生成一个 uboot.bin的文件 ,使用fileZlier传输到windows空间中,通过oflash烧写。

在windows上安装oflash驱动需要注意,可能会提示 目录缺少哈希值, 这里重新设置计算机重启时候选择 安装驱动时不需要数字签名即可。 可自行百度解决。百度是个好东西。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值