redboot on QEMU for mini2440

发布者:EnchantedHeart最新更新时间:2024-06-27 来源: elecfans关键字:redboot  QEMU  for  mini2440 手机看文章 扫描二维码
随时随地手机看文章
  • -        * if a u--boot is available as a file, we always use it 

  • -        */  

  • -       {  

  • -           image_size = load_image('mini2440/u-boot.bin', qemu_get_ram_ptr(0x03f8000  

  • :  

  • diff --git a/hw/mini2440.c b/hw/mini2440.c  

  • index 5decf4b..7a70aae 100644  

  • --- a/hw/mini2440.c  

  • +++ b/hw/mini2440.c  

  • @@ -258,46 +258,15 @@ static void mini2440_reset(void *opaque)  

  •      struct mini2440_board_s *s = (struct mini2440_board_s *) opaque;  

  •      uint32_t image_size;  

  •    

  • -       /* 

  • -        * Normally we would load 4 KB of nand to SRAM and jump there, but 

  • -        * it is not working perfectly as expected, so we cheat and load 

  • -        * it from nand directly relocated to 0x33f80000 and jump there 

  • -        */  

  • -       if (mini2440_load_from_nand(s->nand, 0, S3C_RAM_BASE | 0x03f80000, 256*1024)> 0)  

  • -               mini2440_printf('loaded default u-boot from NAND/n');  

  • -               s->cpu->env->regs[15] = S3C_RAM_BASE | 0x03f80000; /* start address, u-b 

  • -       } 

  • -#if 0 && defined(LATER) 

  • -       if (mini2440_load_from_nand(s->nand, 0, S3C_SRAM_BASE_NANDBOOT, S3C_SRAM_SIZE) > 

  • -           s->cpu->env->regs[15] = S3C_SRAM_BASE_NANDBOOT;     /* start address, u-boot 

  • -           mini2440_printf('4KB SteppingStone loaded from NAND/n'); 

  • -       } 

  • -#endif 

  • -       /* 

  • -        * if a u--boot is available as a file, we always use it 

  • -        */  

  • -       {  

  • -           image_size = load_image('mini2440/u-boot.bin', qemu_get_ram_ptr(0x03f80000))  

  • -           if (image_size < 0)  

  • -                   image_size = load_image('u-boot.bin', qemu_get_ram_ptr(0x03f80000));  

  • -               if (image_size > 0) {  

  • :  

  • diff --git a/hw/mini2440.c b/hw/mini2440.c  

  • index 5decf4b..7a70aae 100644  

  • --- a/hw/mini2440.c  

  • +++ b/hw/mini2440.c  

  • @@ -258,46 +258,15 @@ static void mini2440_reset(void *opaque)  

  •      struct mini2440_board_s *s = (struct mini2440_board_s *) opaque;  

  •      uint32_t image_size;  

  •    

  • -       /* 

  • -        * Normally we would load 4 KB of nand to SRAM and jump there, but 

  • -        * it is not working perfectly as expected, so we cheat and load 

  • -        * it from nand directly relocated to 0x33f80000 and jump there 

  • -        */  

  • -       if (mini2440_load_from_nand(s->nand, 0, S3C_RAM_BASE | 0x03f80000, 256*1024)> 0) {  

  • -               mini2440_printf('loaded default u-boot from NAND/n');  

  • -               s->cpu->env->regs[15] = S3C_RAM_BASE | 0x03f80000; /* start address, u-boot  

  • -       } 

  • -#if 0 && defined(LATER) 

  • -       if (mini2440_load_from_nand(s->nand, 0, S3C_SRAM_BASE_NANDBOOT, S3C_SRAM_SIZE) > 0)  

  • -           s->cpu->env->regs[15] = S3C_SRAM_BASE_NANDBOOT;     /* start address, u-boot rel 

  • -           mini2440_printf('4KB SteppingStone loaded from NAND/n'); 

  • -       } 

  • -#endif 

  • -       /* 

  • -        * if a u--boot is available as a file, we always use it 

  • -        */  

  • -       {  

  • -           image_size = load_image('mini2440/u-boot.bin', qemu_get_ram_ptr(0x03f80000));  

  • -           if (image_size < 0)  

  • -                   image_size = load_image('u-boot.bin', qemu_get_ram_ptr(0x03f80000));  

  • -               if (image_size > 0) {  

  • -                       if (image_size & (512 -1))      /* round size to a NAND block size * 

  • -                               image_size = (image_size + 512) & ~(512-1); 

  • -                       mini2440_printf('loaded override u-boot (size %x)/n', image_size); 

  • diff --git a/hw/mini2440.c b/hw/mini2440.c 

  • index 5decf4b..7a70aae 100644 

  • --- a/hw/mini2440.c 

  • +++ b/hw/mini2440.c 

  • @@ -258,46 +258,15 @@ static void mini2440_reset(void *opaque) 

  •      struct mini2440_board_s *s = (struct mini2440_board_s *) opaque; 

  •      uint32_t image_size; 

  •   

  • -       /* 

  • -        * Normally we would load 4 KB of nand to SRAM and jump there, but 

  • -        * it is not working perfectly as expected, so we cheat and load 

  • -        * it from nand directly relocated to 0x33f80000 and jump there 

  • -        */  

  • -       if (mini2440_load_from_nand(s->nand, 0, S3C_RAM_BASE | 0x03f80000, 256*1024)> 0) {  

  • -               mini2440_printf('loaded default u-boot from NAND/n');  

  • -               s->cpu->env->regs[15] = S3C_RAM_BASE | 0x03f80000; /* start address, u-boot alrea 

  • -       } 

  • -#if 0 && defined(LATER) 

  • -       if (mini2440_load_from_nand(s->nand, 0, S3C_SRAM_BASE_NANDBOOT, S3C_SRAM_SIZE) > 0) { 

  • [1] [2] [3] [4] [5] [6] [7]
    关键字:redboot  QEMU  for  mini2440 引用地址:redboot on QEMU for mini2440

    上一篇:ecos on QEMU for mini2440 编译方法
    下一篇:minigui1.6移植到mini2440

    推荐阅读最新更新时间:2026-02-13 00:02

    ecos on QEMU for mini2440 编译方法
    1. Redboot的编译方法 ecosconfig new mini2440 redboot ecosconfig tree make 2. ecos 内核的编译方法 ecosconfig new mini2440 ecosconfig tree make 3.ecos的测试方法 在下载好的cos源码中的根目录有examples 进入这个目录 make INSTALL_DIR=你的ecos里面的install目录的绝对路径 会生成几个可执行文件。 修改qemu.sh,举例: ./qemu-system-arm -M mini2440 -m 128M -kernel examples/twothreads -show-curs
    [单片机]
    ecos <font color='red'>on</font> <font color='red'>QEMU</font> <font color='red'>for</font> <font color='red'>mini2440</font> 编译方法
    eCos在mini2440 Qemu的网络功能测试
    终于可以方便的用mini2440 qemu的网络功能了, 大家参考一下雪松的这篇帖子《QEMU MINI2440 的 Linux Fedora 8 下网络配置 》http://www.linuxidc.com/Linux/2011-09/42195.htm 既然可以这样用了,我重新整理了mini2440的redboot 1. 根据qemu对dm9000模拟的限制,对dm9000驱动程序做了新的修改 2. ecos的看家绝技,gdb调试应用程序 根据雪松的修改,现在可以用arm-eabi-gdb 的target remote来做ecos 应用程序的单步调试了 3. ecos的httpd 在mini2440 qemu的测试
    [单片机]
    eCos在<font color='red'>mini2440</font> <font color='red'>Qemu</font>的网络功能测试
    QEMU MINI2440 的 Linux Fedora 8 下网络配置
    最近应朋友的要求,研究一下QEMU MINI2440下的仿真。本来我以为这个过程没什么的,这一研究还真发现不少问题,写出来与大家分享。 我使用的系统环境: 1.使用VMware 6.5,宿主机使用 win 7 2.VMWare 6.5上的系统是 Linux Fedora 8 3.RTEMS 的编译环境 4.9 首先我从以下网站获取源代码: 1.获取QEMU的源代码:git clone git://repo.or.cz/qemu/mini2440.git qemu 2.获取UBOOT的源代码git clone git://repo.or.cz/u-boot-openmoko/mini2440.git uboot (注意:QEMU的
    [单片机]
    <font color='red'>QEMU</font> <font color='red'>MINI2440</font> 的 Linux Fedora 8 下网络配置
    GUI 在 MINI2440 QEMU 的eCos 上的移植
    经历了redboot, kernel测试,网卡驱动,web server的测试,很自然的我们想到了UI。 这不仅仅是移植一个GUI, 更重要的让MINI2440 QEMU的ecos仿真平台更加完整话。 对emwin的移植,需要两个部分,老生常谈了网上到处都是。 (本移植也只是针对学习和测试,并非商业用途) 1. LCD的驱动 这个请网上搜索,MINI2440 LCD Driver就可以。 2. GUI的OS接口 探究emwin的OS接口部分,我们需要利用ecos的两个同步资源 cyg_semaphore cyg_flag 还有一些thread的操作函数 cyg_thread_delay cyg_thread_ge
    [单片机]
    GUI 在 <font color='red'>MINI2440</font> <font color='red'>QEMU</font> 的eCos 上的移植
    驱动开发之 LED(for mini2440
    开发环境:ubuntu16.04 64bit Linux内核版本:linux-2.6.32.2 1、编写mini2440_leds.c 在/linux-2.6.32.2/drivers/char目录下,编写mini2440_leds.c,代码如下: #include linux/miscdevice.h #include linux/delay.h #include asm/irq.h #include mach/regs-gpio.h #include mach/hardware.h #include linux/kernel.h #include linux/module.h #include linux
    [单片机]
    驱动开发之 LED(<font color='red'>for</font> <font color='red'>mini2440</font>)
    Qemu搭建ARM vexpress开发环境(一)
    嵌入式开发离不开硬件设备比如:开发板、外设等,但是如果只是想学习研究Linux内核,想学习Linux内核的架构,工作模式,需要修改一些代码,重新编译并烧写到开发板中进行验证,这样未必有些复杂。然而Qemu的使用可以避免频繁在开发板上烧写版本,如果进行与外设无关,仅仅是内核方面的调试,Qemu模拟ARM开发环境完全可以完美地胜任。 下面简单介绍下我的Qemu开发环境搭建过程: 1. 环境 由于在开发过程中也需要Windows系统下的一些工具,于是放弃了以前搭建的双系统环境而采用在PC的Windows10系统下通过VirtualBox虚拟机安装Xubuntu系统进行开发,避免了双系统开发中需要不断重启切换PC系统的问题。Xub
    [单片机]
    Qemu搭建ARM vexpress开发环境(二)----通过u-boot启动Linux内核
    在上文《Qemu搭建ARM vexpress开发环境(一)》中已经简单讲述了通过Qemu模拟直接启动Linux内核,并挂在SD卡根文件系统的方法,这种方法是直接启动内核,与实际应用中ARM板的启动方式:u-boot、kernel、rootfs有些不同。现在就来讲述下通过Qemu搭建通过u-boot启动Linux内核并挂载根文件系统的方法。 1. 开发环境简述 嵌入式系统要正常运行,应该包含:u-boot、kernel、rootfs、appfs。这几部分在ARM开发板Flash上的位置关系应该类似于下图所示: BootLoader BootParameters Kernel Rootfs Appfs ro
    [单片机]
    Clion 2024版本 platformio 51单片机 头文件路径加载解决方案
    首先默认已经装好clion,并配置好了platformio。 1. 新建一个platform工程,选择STC89C52RC这个芯片: 2. 这时可以看到添加头文件8051会报错,原因是clion找不到这个头文件在哪里。 3. 其实,相关的头文件在其他位置,比如我的就在这个路径下: C:Users(隐藏我的用户名).platformiopackagestoolchain-sdccinclude 可以看到这里面有mcs51相关的include文件夹,里面就有8051.h。 4. 所以现在问题就是怎么把这个路径加到刚刚新建的工程里,让clion能找到。由于2024版本没有cmake文件,所以我们使用platformio.
    [单片机]
    小广播
    最新单片机文章
    何立民专栏 单片机及嵌入式宝典

    北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

    厂商技术中心

     
    EEWorld订阅号

     
    EEWorld服务号

     
    汽车开发圈

     
    机器人开发圈

    电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved