FL2440烧录

FL2440烧录

    • 一、补充知识
    • 二、烧录过程
    • 三、内存管理

一、补充知识

  1. ROM(Read Only Memory)只读存储器,在系统停止供电的时候仍然可以保持数据,一般用来存放系统启动程序。
  2. RAM (Random Access Memory)随机存储器,RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。RAM 可以分为静态RAM(Static RAM/SRAM)和动态RAM(Dynamic RAM/DRAM)两大类, 我们下面使用的SDRAM就是属于动态RAM。
  3. FLASH 闪存,它结合了ROM和RAM的长处,不仅具备电子可擦除可编程(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据(NVRAM的优势),目前Flash主要有两种NOR Flash和NADN Flash。
    参考链接:https://blog.csdn.net/weixin_42005205/article/details/80680272
  4. U-Boot(Universal Boot Loader), 用于启动操作系统内核。详细可参考链接:U-Boot是啥?
  5. 嵌入式系统的启动过程:上电先执行U-Boot, U-Boot负责初始化DDR, 初始化Flash, 然后将OS从Flash中读取到DDR中, 最后启动OS.(OS启动后U-Boot就没有用了)参考链接: https://blog.csdn.net/sidongzhong/article/details/102598704

二、烧录过程

通过补充知识我们可以了解到开发板启动,必须需要U-Boot, 所以我们需要先使用J-Link将U-Boot烧录到内存里,内存再使用前需要使用bootstrap初始化,再烧入U-Boot,再使用U-Boot通过TFTP将U-Boot和OS烧录到硬盘内。
FL2440烧录_第1张图片
烧录遇到的问题:

  1. 首先把电脑防火墙关了!
  2. 主要问题在TFTP文件烧录上, 我们需要通过网线, 使用TFTP将U-Boot、Linux内核烧录进开发板内:
set ethaddr 00:11:22:33:44:55  //设置开发板的MAC地址, 这是极其独一无二的标志,不要设置和PC一样
set ipaddr 192.168.13.10    //设置开发板的IP地址, 需要PC在同一网段内!
set serverip 192.168.13.2  //这里是PC的以太网地址, 不是WIFI的地址
save  //保存设置

这里需要设置PC的地址, PC地址通过ipconfig获得,千万注意!!!不是WIFI的网卡地址, 是以太网的地址。
FL2440烧录_第2张图片
这时候我们可先把WIFI关了,设置一个静态IP即可。
FL2440烧录_第3张图片
FL2440烧录_第4张图片

三、内存管理

FL2440烧录_第5张图片
启动过程:

  1. 开发板上电后、硬件自动将Nandflash的前4K代码(即U-Boot的前4K)加载到CPU内部的4K SRAM中去运行。
  2. U-Boot前4K代码主要完成CPU和外部SDRAM的初始化,并将整个U-Boot从Nandflash上搬移到SDRAM的0x33f8 0000地址上去, 然后执行剩下的U-Boot程序;
  3. U-Boot启动后,将Linux内核从Nandflash上加载到内存SDRAM 0x3000 8000地址上去并开始运行Linux内核;
  4. Linux启动后, 加载根文件系统并启动相应的应用程序;

你可能感兴趣的:(FL2440,嵌入式,FL2440开发板,BootLoader,USB下载,Linux)