历史上的今天
返回首页

历史上的今天

今天是:2025年04月15日(星期二)

正在发生

2018年04月15日 | TQ2440之uboot---8.tftp下载内核并启动内核

2018-04-15 来源:eefocus

TQ2440 + uboot1.1.6
1. uboot修改 
1.1 common/main.c 

  1. 在函数 main_loop大约513行:

  2.     char cmd_buf[200];

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

  4.     //boot_zImage(0x200000,0x200000);                            //注释boot_zImage        

  5.     strcpy(cmd_buf, "tftp 0x30008000 zImage; boot_zImage");      //tftp内核到内存的0x30008000,然后启动zImage;   

  6.     run_command(cmd_buf, 0);                                     //这儿只不过是由以前的从nandflash取数据改变为从nand flash取数据

1.2 lib_arm/boot_zImage.c

  1. 151 int boot_zImage(ulong from, size_t size)

  2. 152 {

  3. 162      /*printk("Copy linux kernel from 0x%08lx to 0x%08lx, size = 0x%08lx ... ", from, to, size); //注掉从nand_flash中拷kernel部分,当然这儿也可以自己添加新的命令

  4. 163          ret = copy_kernel_img(to, (char *)from, size);

  5. 164          if (ret) {

  6. 165             printk("failed\n");

  7. 166             return -1;

  8. 167         } else {

  9. 168             printk("Copy Kernel to SDRAM done,");

  10. 169      }*/

  11. 177 }

重新编译后,将uboot烧到nand flash中 

2.  ubuntu中tftp的安装

 a. root@ubuntu:~# apt-get install tftpd tftp openbsd-inetd ;安装

  1. b. root@ubuntu:~# vi im /etc/inetd.conf ;配置tftp文件路径

  2.             tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /tmp

  3. c. root@ubuntu:~# chmod 777 /tmp

  4. d. root@ubuntu:~# /etc/init.d/openbsd-inetd restart ;重启服务,使配置生效

  5.    root@ubuntu:~# netstat -an | grep 69 ;查看69端口是否打开

  6.    root@ubuntu:~# tftp 192.168.1.2 ;tftp 本机ip测试一下

  7.    tftp> get test.txt

  8. 注意: /root不可以作为tftp根目录,设置tftproot为:/tmp

3. 修改内核Makefile

  1.  arch/arm/boot/Makefile中

  2.  56 $(obj)/zImage: $(obj)/compressed/vmlinux FORCE

  3.  57 $(call if_changed,objcopy)

  4.  58 cp -arf arch/arm/boot/zImage /tmp/zImage 

  5.  59 @echo ' Kernel: $@ is ready

将新生成的zImage拷贝到 /tmp中


推荐阅读

史海拾趣

Gigabit Logic Inc公司的发展小趣事
采用集成电路等现代电子元器件,提高了电路的可靠性和稳定性。
富满电子(FM)公司的发展小趣事
部分设计还可以实现模拟自然风等功能,提升用户体验。
AZ Displays公司的发展小趣事

面对日益激烈的市场竞争和不断变化的客户需求,AZ Displays始终保持着创新的活力。公司不断投入研发资源,推出具有创新性和领先性的产品。同时,AZ Displays还积极关注行业动态和新兴技术,不断调整和优化产品策略,以确保公司在市场中的领先地位。

这些故事展示了AZ Displays在电子行业中的发展历程和成就,体现了公司不断创新、追求卓越的精神。未来,随着科技的不断进步和市场需求的不断变化,AZ Displays将继续保持创新活力,为客户提供更优质的产品和服务。

Custom Connector Corporation公司的发展小趣事

CCC深知产品质量对于企业生存和发展的重要性。因此,公司始终将质量管理放在首位,建立了严格的质量检测体系和售后服务体系。从原材料采购到产品生产、再到售后服务,CCC都严格按照质量标准进行操作,确保每一件产品都符合客户的要求。这种对质量的执着追求让CCC赢得了客户的信赖和口碑相传。

台湾兆欣(EMTEK)公司的发展小趣事

兆欣深知品质和服务对于企业发展的重要性。他们始终坚持高品质的生产标准,确保每一件产品都符合客户的期望。同时,兆欣还提供了周到的售前咨询和售后服务,为客户提供了全方位的支持。这种以客户为中心的经营理念赢得了客户的广泛赞誉和信任。

Boundary Devices公司的发展小趣事

随着技术的不断进步和市场的不断变化,Boundary Devices不断拓展其产品线,推出了包括开发板、OEM板和调制解调器等在内的多种产品。这些产品不仅满足了客户多样化的需求,也进一步提升了公司在行业中的竞争力。同时,公司注重创新,不断投入研发力量,推出了一系列具有自主知识产权的产品,为公司的长期发展注入了新的动力。

问答坊 | AI 解惑

十天学会 51视频教程 免费下载

十天学会 51视频教程 免费下载 地址:http://www.verycd.com/groups/mcu/392145.topic#post2203424…

查看全部问答>

AT45DB021B问题

在AT4DB021B的Datasheet中说的Inactive Clock Polarity Low or Inactive Clock Polarity High 是个什么模式,和SPI Mode 0 or SPI Mode 3有什么区别, 在这两种模式下的opcode都不一样,比如读register的前者模式下是0x57,在后者模式下是0xD7,我 ...…

查看全部问答>

请教i2c没有应答的问题..

调试I2C程序的时侯无应答,可我是严格按照时序来写的啊,地址也核对过了,没有出错,请问各位有经验的I2C高手们,还有哪些情况会导致无应答信号.谢谢了..…

查看全部问答>

ARM在WINCE平台下如何向PC串口发送浮点数据

现在能够向PC串口发送字符,但不知道如何传送浮点数据,已经试过直接发送是不行的。 串口的发送和接收好像都是按字符进行,直接发送浮点数会被强制类型转换,这个好像和驱动有关,硬件寄存器应该也不支持浮点数据,我的这个理解不知是否正确。 想 ...…

查看全部问答>

请问有谁用过UCOSII来开发过GIS

请问有谁用过UCOSII来开发过GIS,请赐教!! …

查看全部问答>

显卡相关

请问各位有知道显卡自身可不可以处理鼠标移动函数的么? 有话的哪款显卡有此类的功能呢? 谢谢…

查看全部问答>

关于UPS蓄电池六大充电模式的详细介绍

一、恒压充电  恒压充电是指每只单格UPS电源蓄电池均以一恒定电压(一般取单格电池数乘以2.5v)进行充电。特点是:初始充电电流相当大,UPS蓄电池电动势和电解液体相对密度上升较快,随着充电的延续,充电电流逐渐减小,在充电终期只有很小的电流通 ...…

查看全部问答>

哪位大虾有没有STM8系列触摸原理图

                                 各位大虾,有没有用STM8S103K3做过触摸按键的呀,我刚接触STM8单片机.还不太了解,哪位大虾传一份原理参考一下.…

查看全部问答>

CMET2011:以云计算与医疗电子技术推进低成本健康工程

“中央领导和相关部门对低成本健康已有充分认识,利用高科技手段,大幅提高基本医疗卫生服务,将成为有中国特色的“低成本健康”的必经之路。在此过程中,云计算、ICT、家用医疗电子等技术将成为低成本健康工程的最大推动力。”4月26日,由创意时代 ...…

查看全部问答>

好好学习

要好好学习…

查看全部问答>