TX2440 ARM开发板Uboot移植 (六、实现启动快捷菜单)

CrewAI 多 Agent 实战包 v1(Mock免Key跑通+通义千问可选+流水线样例) 本资源是 CrewAI 风格多 Agent 可运行工程包:研究→写作→审校等流水线样例。无 API Key 时自动降级 Mock 引擎跑通;有 DASHSCOPE_API_KEY 时可接真实 CrewAI + 通义千问。含中文 README、samples、smoke 留档、单元测试。本包不含密钥。关联博客:https://blog.youkuaiyun.com/mtl1994 立即下载

1、在common目录下新增cmd_menu.c文件,内容为:

#include <common.h>
#include <command.h>

static char awaitkey(unsigned long delay, int* error_p)
{
    int i;
    char c;
    if (delay == -1) {
        while (1) {
            if (tstc()) /* we got a key press */
                return getc();
        }
    }
    else {       
        for (i = 0; i < delay; i++) {
      if (tstc()) /* we got a key press */
       return getc();
            udelay (10*1000);
        }
    }
    if (error_p)
        *error_p = -1;
    return 0;
}

void main_menu_usage(void)
{
 printf("\r\n######## Hotips TFTP DownLoad for SMDK2440 ########\r\n");
 printf("\r\n");
 printf("[1] 下载 u-boot.bin       写入 Nand Flash\r\n");
 printf("[2] 下载 Linux(uImage)    内核镜像写入 Nand Flash\r\n");
 printf("[3] 下载 yaffs2(fs.yaffs) 文件系统镜像写入 Nand Flash\r\n");
 printf("[4] 下载 Linux(uImage)    内核镜像到内存并运行\r\n");
 printf("[5] 重启设备\r\n");
 printf("[q] 退出菜单\r\n");
 printf("\r\n");
 printf("输入选择: ");
}

void menu_shell(void)
{
    char c;
    char cmd_buf[200];

    while (1)
    {
      main_menu_usage();
      c = awaitkey(-1, NULL);
      printf("%c\n", c);
      switch (c)
      {
  case '1':
  {
          strcpy(cmd_buf, "tftp 0x32000000 u-boot.bin; nand erase 0x0 0x60000; nand write 0x32000000 0x0 0x60000");
          run_command(cmd_buf, 0);
          break;
  }
        case '2':
        {
          strcpy(cmd_buf, "tftp 0x32000000 uImage; nand erase 0x80000 0x200000; nand write 0x32000000 0x80000 0x200000");
          run_command(cmd_buf, 0);
     break;
        }
        case '3':
        {
          strcpy(cmd_buf, "tftp 0x32000000 fs.yaffs; nand erase 0x280000; nand write.yaffs2 0x32000000 0x280000 $(filesize)");
          run_command(cmd_buf, 0);
          break;
        }
  case '4':
        {
          strcpy(cmd_buf, "tftp 0x32000000 uImage; bootm 0x32000000");
          run_command(cmd_buf, 0);
          break;
        }
  case '5':
        {
          strcpy(cmd_buf, "reset");
          run_command(cmd_buf, 0);
          break;
        }
        case 'q':
        {
          return;   
          break;
        }
      }
    }
}

int do_menu (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
{
    menu_shell();
    return 0;
}

U_BOOT_CMD(
 menu, 1, 0, do_menu,
 "Download Menu",
 "U-boot Download Menu by Hotips\n"
);

2、修改common目录下的Makefile文件,将cmd_menu.o加入编译:

COBJS-y += main.o
COBJS-y += cmd_menu.o

COBJS-y += ACEX1K.o





?  U-BOOT版本:

U-BOOT-2010.06 

?  交叉编译器版本:

arm-linux-gcc  4.1.2

?  操作系统平台:

Linux    Red Hat 9.0

 

 

 

1 。首先准备2个文件 cmd_menu.c 在u-boot/common下,

        Def.h 在u-boot/include 下 放在该对应目录下

2 。修改u-boot/commom下Makefile 大约在168行增加

COBJD-$(CONFIG_CMD_MENU) += cmd_menu.o 即可。

3 。修改u-boot/common/main.c 文件大约在419行添加(红色字体为需要增加的)

#ifdef CONFIG_AUTOBOOT_KEYED

       Int prev = disable_ctrlc(1);

#endif

/*qinjianbo begin*/

#ifdef CONFIG_CMD_MENU

       if (bBootFrmNORFlash == 1)   

       {

              run_command("menu", 0);      

       }

       else

       {

              printf("Booting Linux ...\n");

              boot_zImage(0x00120000,0x400000);

       }

#else

       printf("Booting Linux ...\n");

       boot_zImage(0x00120000,0x400000);

#endif   

/*qinjianbo end*/

      

       大约在在468行增加

       #endif /* CONFIG_MENUKEY */

#endif     /* CONFIG_BOOTDELAY */

 

#ifdef CONFIG_AMIGAONEG3SE

       {

           extern void video_banner(void);

           video_banner();

       }

#endif

/*qinjianbo begin*/

#ifdef CONFIG_CMD_MENU

       run_command("menu", 0);

#endif

/*qinjianbo end*/

 

4 。在u-boot/include/configs/qinjianbo.h中大约114行增加

       #define CONFIG_CMD_MTDPARTS

#define CONFIG_CMD_JFFS2

#define CONFIG_CMD_MENU  //qinjianbo

 

做完了上述的步骤我相信的你下载菜单一定跑起来了吧, 你的心情怎样呢? 当然如果你还未成功的话,请留下你的问题点,我们一起解决。(要源码的话呢?。。。。。)


市场销售总监年终汇报必备PPT.pptx 市场销售总监年终汇报必备PPT 立即下载

相关推荐

2263XT开卡工具N48R,威刚S20

2263XT开卡工具N48R,威刚S20可用

u-boot引导zImage内核

u-boot-1.1.6 因为/common/cmd_bootm.c支持的是启动uZimage,而我使用的是zImage,所以决定该写一个可以支持zImage的命令。 u-boot启动过程三步: 1.拷贝内核到SDRAM指定地址(0x30008000) 2.设置传递给linux的参数(0x30000100) 3.跳转到linux内核首地址

红娃子 2358

半桥LLC谐振变换器开环+闭环仿真设计资料(Simulink仿真实现)

内容概要:本文档系统性地介绍了半桥LLC谐振变换器的开环与闭环仿真设计方法,基于Simulink平台构建完整的仿真模型,涵盖系统建模、关键参数设计、控制策略实现及动态性能验证全过程。重点阐述了LLC谐振变换器的工作原理、谐振腔参数(Lr、Cr、Lm)的优化设计方法、零电压开关(ZVS)与零电流开关(ZCS)等软开关技术的实现机制,并深入探讨电压/电流双闭环控制策略,特别是恒压恒流双竞争控制逻辑的切换机制与稳定性保障。资料配套提供完整的仿真模型、详细说明文档及参考文献,有助于全面掌握其在启停过程、负载突变等工况下的动态响应特性与系统鲁棒性调控方法。; 适合人群:具备电力电子技术基础理论知识和Simulink仿真操作能力的高校研究生、科研机构研究人员,以及从事高频高效开关电源、新能源汽车车载充电机(OBC)、充电桩电源、数据中心供电等领域的工程技术人员。; 使用场景及目标:① 掌握LLC谐振变换器在实际工程中的精确建模与仿真分析流程;② 深入理解并独立实现从开环频率调制到闭环反馈控制的平滑切换逻辑;③ 应用于高效率DC-DC变换器、电动汽车充电系统、可再生能源并网电源等场景下的控制系统设计与性能优化; 阅读建议:建议结合所提供的仿真模型进行分步调试与参数扫描实验,重点关注控制器带宽设计、谐振元件参数匹配对效率的影响以及系统上电过程中的软启动策略设计,同时推荐对比学习全桥LLC、CLLC等衍生拓扑的相关资料,以建立完整的谐振变换器控制体系认知。

uboot菜单实现全过程

这个菜单其实就是一个uboot中的命令,uboot启动时,如果进入下载模式,就先运行这个命令。 命令的执行内容就是通过串口打印出一个菜单,等待用户输入,再执行相应的动作。 先自己写一个cmd_menu.c的文件,放到common目录下,修改同目录下的Makefile文件,加入编译选项: COBJS-$(CONFIG_CMD_MENU) += cmd_menu.o cmd_menu.c里面的内容:

sanjunsheng的专栏 2773

SOP 配电网故障重构方法研究【IEEE33节点】(Matlab代码实现)

内容概要:本文围绕基于SOP(Soft Open Point)的配电网故障重构方法展开研究,采用IEEE33节点标准配电系统作为仿真测试平台,利用Matlab进行代码实现与仿真验证。研究重点在于通过SOP这一柔性电力电子装置实现故障后网络拓扑的快速重构,提升供电恢复能力与系统可靠性。文中详细阐述了故障重构的数学建模过程,结合优化算法实现负荷转供与孤岛划分的协同决策,在保证辐射状运行约束的前提下,最大限度恢复失电负荷,并降低网络损耗。该方法充分体现了SOP在主动配电网中的灵活调控优势,为现代智能配电网的自愈控制提供了有效技术路径。; 适合人群:电气工程及相关专业的高校研究生、从事配电网自动化与智能电网研究的科研人员,以及具备一定Matlab编程基础和电力系统分析背景的研发技术人员。; 使用场景及目标:① 掌握基于SOP的配电网故障恢复机制与重构策略设计;② 学习如何在Matlab环境下构建IEEE33节点系统模型并实现故障重构算法;③ 深入理解含分布式电源与柔性装置的主动配电网优化运行方法; 阅读建议:建议结合电力系统分析基础知识,重点关注SOP的建模方式、故障重构的优化目标与约束条件设定,并动手实践Matlab代码以加深对算法流程和仿真结果的理解。

一份外盘期货历史高频tick数据,涵盖能源、贵金属、股指等主要品种的逐笔成交与盘口快照 每条记录包含精确至毫秒的时间戳、合约代码、成交价格、成交量以及主动买卖方向标识 同时提供该时刻的最优申买价、申卖

一份外盘期货历史高频tick数据,涵盖能源、贵金属、股指等主要品种的逐笔成交与盘口快照。每条记录包含精确至毫秒的时间戳、合约代码、成交价格、成交量以及主动买卖方向标识。同时提供该时刻的最优申买价、申卖价及对应挂单量,用于还原盘口深度变化,数据时间覆盖连续的多个交易日。 数据源:CMES金融数据库

U-Boot工作过程

注:本帖转自:http://www.cnblogs.com/heaad/archive/2010/07/17/1779829.html 感谢作者:heaad ———————————————————————————————————————————————————————————————————————————————————— 1.1U-Boot工作过程 U...

weixin_30432179的博客 668

基于变频控制的多相交错LLC谐振变换器闭环仿真(Simulink仿真实现)

内容概要:本文档聚焦于电力电子与控制系统领域的仿真研究,核心内容为“基于变频控制的多相交错LLC谐振变换器闭环仿真”的Simulink实现。系统阐述了LLC谐振变换器的开环与闭环控制策略、软开关技术、恒压恒流双竞争控制机制、多相交错结构设计及变频调制原理,通过建模仿真深入剖析高频DC-DC变换器的工作特性与动态响应。文档整合了丰富的科研资源,涵盖双向CLLC、DAB变换器、PWM整流器、微电网优化调度、状态估计(EKF/UKF/PF)等多个前沿方向的仿真案例,形成一个体系完整、技术覆盖面广的综合性技术资料库,适用于高水平科研与工程实践。; 适合人群:电气工程、自动化、电力电子及相关专业的研究生、高校科研人员,以及从事新能源发电、电动汽车、智能电网、工业电源等领域的技术研发工程师。; 使用场景及目标:①开展高频谐振变换器拓扑结构与先进控制策略的深入研究;②完成复杂电力电子系统的建模、仿真与性能验证;③支撑SCI/EI论文撰写、科研项目申报与关键技术攻关;④辅助高校课程设计、研究生课题实践与毕业设计的仿真实验环节。; 阅读建议:建议结合文中提供的网盘资源与微信公众号资料进行系统学习,优先掌握LLC变换器的基本工作模态与谐振原理,再逐步深入闭环控制器设计与参数整定,仿真过程中应重点关注关键波形分析与系统稳定性判据,以全面提升对高频变换器动态特性的理解与工程应用能力。

UBOOT通用菜单menu的实现

1. 概述 在uboot中经常需要开发一个菜单,用来进行一些选项类的操作,如下图所示 网上有很多介绍菜单的开发方法,但很多都是自己开发,没有统一的开发框架。最近研究uboot代码时发现,其实uboot(版本为2016)代码中有一个菜单框架,以及使用这个框架的一个具体例子,可以根据自己的需要进行适当的修改,用起来非常方便。 2.具体实现 菜单框架代码位于/common/menu.c文...

leochen_career的专栏 2891

产业园区运营负责人如何助力园区内企业与高校科研成果高效对接?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

DCA决策曲线的解读和代码实现

0.决策曲线 决策曲线分析法(Decision Curve Analysis,DCA)是个与ROC曲线相提并论的相对比较新的模型评价方法。 关于它的原理,长篇大论的医学统计学知识解读实在不是我的强项,放上两个链接偷偷懒: https://www.plob.org/article/12455.html https://www.iikx.com/news/statistics/1622.html 如果想看文章,这篇里的fig7就是:https://www.ncbi.nlm.nih.gov/pmc/artic

weixin_42960896的博客 1万+

uboot2010.06移植中一点感想

一、如何设置环境变量 bootargs=noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0 mem=64M bootcmd=nand read.jffs2 0x30007FC0 kernel; bootm 0x30007FC0 bootdelay=3 baudrate=115200 ethaddr=1a:2b:3c:4d:

garfield0905的专栏 826

SerDes硬件设计原理介绍

接收端:外部差分串行数据------线性均衡器----(CDR从数据中恢复出采样时钟)-----解串器(串行信号转并行信号)-------8B/10B的解码器或解扰器-----FIFO-----FPGA接受差分并行数据。发送端: FPGA发送差分并行数据----FIFO------8B/10B编码器或者扰码器-----串行器(并行信号转串行信号)-----均衡器(滤波)--------TX串行信号差分外发。串行器:8bit的并行数据----2bit的并行数据----1bits的串行数据。

weixin_42304393的博客 1108

TX2440 ARM开发板Uboot移植(-、让u-boot从norFlash动起来)

移植环境 主    机:VMWare--Ubunt 10.04 Kernel:2.6.34  开发板:Tx2440--256MB Nand 编译器:arm-linux-gcc-4.3.2.tgz  u-boot:u-boot-1.3.4 移植步骤 本次移植的功能特点包括: Nand Flash读写 Nor/Nand 自动选择启动 DM9000网卡支持

逐波与逆流 1546

Innovus ECO技巧:用setEcoMode+ecoAddRepeater实现批量buffer替换的5个关键步骤

本文详细介绍了在Cadence Innovus工具中,利用setEcoMode与ecoAddRepeater命令实现高效、批量Buffer/Inverter替换的工程化策略。通过启用批处理模式、构建可维护的替换规则、掌握高级定位技巧以及规避布线陷阱等5个关键步骤,帮助芯片设计工程师在ECO阶段大幅提升修改效率与质量,确保设计稳定签核。

d6e7f8的博客 1117

AUTOSAR RTE配置实战:从ECU分区到Task映射的完整指南

本文提供了一份AUTOSAR RTE配置的完整实战指南。从创建ECU分区、定义OS任务,到实现Runnable Entity与Task的精确映射,详细解析了每一步的操作要点与常见陷阱。文章结合配置工具界面,旨在帮助开发者高效完成RTE配置,确保系统实时性与数据一致性,是掌握AUTOSAR核心开发流程的实用参考。

weixin_29228203的博客 484

天祥 TX2440 UBOOT移植(1. 从NORFLASH中运行)

移植环境 主    机:VMWare--Ubunt 10.04 Kernel:2.6.34  开发板:Tx2440--256MB Nand 编译器:arm-linux-gcc-4.3.2.tgz  u-boot:u-boot-1.3.4 移植步骤 本次移植的功能特点包括: Nand Flash读写 Nor/Nand 自动选择启动 DM9000网卡支持

JAN带你旅行~ 950

基于轻量级神经网络MobileNet V2的水果识别种类算法研究

本文阐述了一种基于轻量级卷积神经网络MobileNet V2的水果分类与识别算法研究。为了最大限度地促进机械收获,需要一个检测系统,它可以让我们识别不同类别的水果。一个相对未开发的想法是使用深度学习和人工智能算法,不仅可以检测水果的种类,还可以检测水果是否成熟。这可以证明是有利可图的,因为它可以提供作物生长状况以及成熟和未成熟果实的个体数量,以及决定是否是收获时间的有用信息。第一步对数据进行了预处理,数据预处理技术在众多的深度学习计算中起到了重要作用。

qq_43556680的博客 1640

ARM开发板下的Uboot镜像编译(bootloader)(过程为主)

系统启动三大块,bootloader、内核、根文件系统。今天记录下我这个板子的bootloader(Uboot)的编译过程 注意:需要先安装arm-linux-gcc交叉编译器! 1 获取Uboot源码 这个源码厂家一般会给,里面需要的是针对SOC的配置,自己从零配置要好久,这就不说了。 2 开始制作镜像 2.1 解压 没啥好解释 tar xvf u-boot-2014.07_v3_mipi.ta...

qq_43666528的博客 927

基于IC555的PWM信号发生器设计:从原理到电机调速与LED调光应用

脉冲宽度调制(PWM)是一种通过调节数字脉冲宽度来控制模拟信号电平的核心技术,其原理在于固定频率下改变高电平占空比,从而等效调节平均电压或功率。这项技术因其高效率、低损耗的特点,在电机调速、LED调光、开关电源等工程领域具有重要价值。本文聚焦于利用经典IC555定时器芯片构建PWM信号发生器,通过分析其无稳态工作模式及改进型电路设计,实现了占空比独立可调且频率稳定的信号输出。文中结合电机驱动与LED调光等具体应用场景,详细阐述了电路参数计算、元件选型、PCB设计及常见问题排查等实践要点,为电子爱好者与工程师

weixin_30342363的博客 396

极智AI | 谈谈为什么卷积加速更喜欢 NHWC Layout

本文主要讨论一下为什么卷积加速更加喜欢 NHWC 的数据排布。

极智视界 2970

uboot移植之命令烧写uboot,zImage.img,root .

/**************uboot下用命令下载uboot,内核和文件系统********************/    /* 先将内核zImage用mkimage转换成uImage(叫zIMage.img) mkimage 工具是uboot提供,在uboot源码的tools/ 在内核源码的arch/arm/boot/下执行如下命令 */  mkimage -n 'tekkaman' -A

flymachine的专栏 4544

基于YOLOv11与相机标定的齿轮尺寸测量系统

本文详细介绍了一种基于深度学习的目标检测算法YOLOv11与相机标定技术相结合的齿轮尺寸自动测量系统。该系统能够实时检测图像中的齿轮目标,并精确测量其关键尺寸参数,包括齿顶圆直径、齿根圆直径、模数等。我们构建了完整的深度学习解决方案,包含数据采集与标注、模型训练、相机标定、尺寸测量算法以及用户友好的UI界面。本文提供了完整的代码实现,并推荐了相关的参考数据集,为工业视觉检测领域提供了实用的技术方案。关键词:YOLOv11;齿轮检测;尺寸测量;相机标定;深度学习;工业视觉python。

YOLO 411

TX2440开发板Uboot移植教程

tx2440开发板 uboot移植

lingfeng5的专栏 1036

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

上一篇: 嵌入式Linux之我行——Linux-2.6.30.4在2440上的移植之内核
下一篇: 卸载qtcreator
hwmt2012
博客等级 码龄14年 14粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值