海思开机启动画面

自定义海思设备开机启动JPEG图像
本文介绍了如何修改Uboot的board.c文件以实现海思设备开机显示特定JPEG图像。通过添加LogintImage函数并调用load_jpeg及jpeg_decode函数,将JPEG图片加载到Flash指定地址,并在启动时显示。同时提供了烧录图片到Flash的步骤,包括清除、写入和验证过程。

修改Uboot arch/arm/lib/board.c 文件

1添加函数LogintImage如下代码:

 /****************************************************************************/

void LogintImage(void)

{

    run_command("sf probe 0",1);

    run_command("sf read 81000000 c0000 30000",1);

 

    setenv("jpeg_addr","0x81000000");

    setenv("jpeg_size","0x6384");

    setenv("vobuf","0x84000000");

    if(0 == load_jpeg())

    {

        jpeg_decode();

   &n

### 编译 haveged - **环境准备**:确保海思芯片的交叉编译工具链已正确安装和配置,且系统中具备基本的编译工具,如 make、gcc 等。 - **下载源码**:可以从 haveged 的官方 GitHub 仓库或者其他开源镜像站点下载源码包。例如使用 wget 命令: ```bash wget https://github.com/jirka-h/haveged/archive/refs/tags/v1.9.14.tar.gz ``` - **解压源码**: ```bash tar -zxvf v1.9.14.tar.gz cd haveged-1.9.14 ``` - **配置编译选项**:使用交叉编译工具链的配置选项来指定编译环境,假设交叉编译工具链的前缀为 `arm-hisiv500-linux-`: ```bash ./configure --host=arm-hisiv500-linux CC=arm-hisiv500-linux-gcc ``` - **编译**: ```bash make ``` - **安装**: ```bash make install ``` ### 实现开机自动启动 #### 方法一:使用 systemd 如果海思芯片的系统使用 systemd 作为初始化系统,可以创建一个 systemd 服务文件。 - 创建服务文件: ```bash vim /etc/systemd/system/haveged.service ``` 在文件中添加以下内容: ```ini [Unit] Description=Entropy daemon using the HAVEGE algorithm After=syslog.target [Service] ExecStart=/usr/sbin/haveged -w 1024 Restart=always [Install] WantedBy=multi-user.target ``` - 重新加载 systemd 配置: ```bash systemctl daemon-reload ``` - 启用服务: ```bash systemctl enable haveged.service ``` - 启动服务: ```bash systemctl start haveged.service ``` #### 方法二:使用 init.d 脚本 如果系统使用传统的 init.d 脚本,可以创建一个 init.d 脚本。 - 创建脚本文件: ```bash vim /etc/init.d/haveged ``` 在文件中添加以下内容: ```bash #!/bin/sh ### BEGIN INIT INFO # Provides: haveged # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Entropy daemon using the HAVEGE algorithm # Description: haveged is an entropy daemon that uses the HAVEGE algorithm ### END INIT INFO case "$1" in start) /usr/sbin/haveged -w 1024 ;; stop) pkill haveged ;; restart) pkill haveged /usr/sbin/haveged -w 1024 ;; *) echo "Usage: /etc/init.d/haveged {start|stop|restart}" exit 1 ;; esac exit 0 ``` - 添加执行权限: ```bash chmod +x /etc/init.d/haveged ``` - 注册服务: ```bash update-rc.d haveged defaults ``` - 启动服务: ```bash /etc/init.d/haveged start ```
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值