随笔分类 -  bootloader

ubuntu tftp 配置
摘要:1:sudo apt-get install tftp tftpd openbsd-inetd特别指出很多文章里用的是netkit-inetd,但是实际下载时发现这个软件是下不到的,特改用openbsd-inetd,实验效果不错。2:在根目录下创建文件夹 tftpbootcd /sudo mkdir tftpboot 建立文件夹sudo chmod 777 tftpboot 更改文件夹权限3: sudo gedit /etc/inetd.conf 修改成如下样子tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /tftpb 阅读全文

posted @ 2013-10-30 10:02 屁屁侠 阅读(267) 评论(0) 推荐(0)

u-boot编译
摘要:u-boot目的:启动内核1.从flash读出内核,放到SDRAM中2.启动内核u-boot要实现的功能:-----硬件相关的初始化---- ---开发的功能--------- 关看门够 烧写FLASH 初始化时钟 网卡 初始化SDRAM USB 串口---------------------------------------------- 从FLASH读出内核 启动内核 u-boot编译1.解压缩tar xjf u-boot-1.1.6.tar.bz2 2.打补丁cd u-boot-1.1.6patch -p1 < ../u-boot-... 阅读全文

posted @ 2013-10-25 10:17 屁屁侠 阅读(258) 评论(0) 推荐(0)

ubuntu12.04的NFS配置
摘要:#sudo apt-get install nfs-kernel-serverubuntu12.04中的已经是最新版本了,无需安装打开/etc/exports文件,在末尾加入:/home/kevin *(rw,sync,no_root_squash)注:nfs允许挂载的目录及权限,在文件/etc/exports中进行定义,各字段含义如下:/home/kevin:要共享的目录* :允许所有的网段访问rw :读写权限sync:资料同步写入内在和硬盘no_root_squash:nfs客户端共享目录使用者权限重启服务:#sudo /etc/init.d/portmap restart <--- 阅读全文

posted @ 2013-10-24 16:40 屁屁侠 阅读(249) 评论(0) 推荐(0)

Ubuntu和Busybox下用make menuconfig配置出错解决
摘要:http://blog.csdn.net/satiling/article/details/6965985# make menuconfigIn file included from scripts/kconfig/lxdialog/checklist.c:24:scripts/kconfig/lxdialog/dialog.h:31:20: error: curses.h: 没有那个文件或目录In file included from scripts/kconfig/lxdialog/checklist.c:24:scripts/kconfig/lxdialog/dialog.h:128: 阅读全文

posted @ 2013-10-22 16:44 屁屁侠 阅读(844) 评论(0) 推荐(0)

自己写bootloader(一)
摘要:bootloader功能目标:启动内核1.从Flash上把内核读入内存 1>读Flash: a.NORFLASH:读内存 b.NANDFLASH: 2>初始化内存(SDRAM需要初始化)、时钟、关闭看门狗、其他...2.启动(跳转到内核所在的地址执行) 1>设置参数,在某个约定的地址放上参数 2>跳转执行 最简单的bootloader的编写步骤:1.初始化硬件:关闭看门狗、设置时钟、设置SDRAM、初始化NAND FLASH2.如果bootloader比较大,要把它重定位到SDRAM3.把内核从NAND FLASH读到SDRAM4.设置"要传递给内核的参数&q 阅读全文

posted @ 2013-09-30 14:35 屁屁侠 阅读(577) 评论(0) 推荐(0)

.balignl 16,0xdeadbeef浅析
摘要:http://zqwt.012.blog.163.com/blog/static/12044684201031102956976/最近在分析u-boot的源代码,看到这一行: .balignl 16, 0xdeadbeef不知道为什么要这样写,0xdeadbeef,明显是个单词组,写在这里有何意义呢?查阅了众多资料的时候才晃然大悟。下面我一步步来说明:首先要弄明白.balignl的意思,这其实应该算是一个伪操作符,伪操作符的意思就是机器码里,并没有一个汇编指令与其对应,是由编译器来实现其功能的。.balign是意思是:以当前地址为开始开始,找到第一次出现的以第一个参数为整数倍的地址,并将其作为 阅读全文

posted @ 2013-09-18 15:29 屁屁侠 阅读(4935) 评论(0) 推荐(0)

u-boot中添加自定义命令
摘要:1.u-boot命令机制u-boot中,每个命令都使用一个struct cmd_tbl_s结构体定义,该定义在include/command.h中实现:struct cmd_tbl_s{ char *name,//u-boot中执行的命令 int maxargs,//命令所能带的参数个数,最少为1 int repeatable,//该命令是否可重复 int (*cmd)(struct cmd_tbl_s *,int,int,char*[]),//指向该命令对应的源函数 char *usage,//命令的使用提示 char *help//在线帮助信息};u-boot中定义的命令能与具... 阅读全文

posted @ 2013-09-11 15:24 屁屁侠 阅读(683) 评论(0) 推荐(0)

基于S3C2440的U-BOOT的start.S分析
摘要:基于S3C2440的U-BOOT的start.S分析 在了解了ARM相关的汇编指令后,同时结合网上各位大虾的提点开始阅读u-boot的启动代码,现将分析过程记录如下可执行文件及内存映射我们可以把可执行文件分为2种情况:存放态和运行态1.存放态:可执行文件经过烧到存储介质上(flash或磁盘)的分布,此时可执行文件通常有2部分组成,代码段和数据段,代码段又分为可执行代码段 (.text)和只读数据段(.rodata),数据段可以分为初始化数据段(.data)和未初始化代码段(.bss),如下:+-------------+-----------| .bss | (ZI)+----... 阅读全文

posted @ 2013-09-11 14:37 屁屁侠 阅读(514) 评论(0) 推荐(0)

UBoot启动代码第一阶段流程
摘要:http://blog.csdn.net/xautfengzi/article/details/7470134前段时间了看了UBoot的源码,放了一段时间之后忘得差不多了。现做一些注释,方便以后温习。第一阶段代码主要位于start.S中,其流程如下:1.设置中断向量表。2.设置CPU为管理员模式。3.禁狗。4.关中断。5.设置系统时钟。6.跳至cpu_init_crit。(注意bl指令,bl指令是相对跳转,绝对跳转用mov lr,pc。由于此阶段代码是位置无关代码,所以在跳至的细节部分要仔细理解)6.1.使缓存无效。6.2.禁用MMU和缓存。6.3.跳转至lowlevel_init设置内存时钟 阅读全文

posted @ 2013-09-11 09:30 屁屁侠 阅读(456) 评论(0) 推荐(0)

Uboot的bad_save_user_regs
摘要:下面是一个宏定义,从名字“bad_save_user_regs”就可以猜测它是用来保存程序“出错”时用户态的寄存器的值。从下面的“use bad_save_user_regs for abort/prefetch/undef/swi ...”可以知道,这些“错误”是就是发生abort、prefetch、undef、swi异常时。为什么我把“出错”、“错误”加上引号?因为这些“错误”,有时候是故意加入的,就是为了触发异常处理程序,从而完成某些事情,比如:系统调用就是通过swi异常实现的。CODE: ... 阅读全文

posted @ 2013-09-10 18:12 屁屁侠 阅读(1220) 评论(0) 推荐(0)

u-boot mkconfig文件分析
摘要:#!/bin/sh -e#遇到非0返回 就退出脚本# Script to create header files and links to configure# U-Boot for a specific board.## Parameters: Target Architecture CPU Board [VENDOR] [SOC]## (C) 2002-2006 DENX Software Engineering, Wolfgang Denk ##定义变量 APPEND=no # Default: Create new config fileBOARD_NAME="" 阅读全文

posted @ 2013-09-05 14:22 屁屁侠 阅读(487) 评论(0) 推荐(0)

uboot的lds文件分析
摘要:OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")/*指定输出可执行文件是elf格式,32位ARM指令,小端*/OUTPUT_ARCH(arm)/*指定输出可执行文件的平台为ARM*/ENTRY(_start)/*指定输出可执行文件的起始代码段为_start*/SECTIONS{/*指定可执行image文件的全局入口点,通常这个地址都放在ROM(flash)0x0位置。必须使编译器知道这个地址,通常都是修改此处来完成*/ . = 0x000000 阅读全文

posted @ 2013-07-19 14:27 屁屁侠 阅读(4462) 评论(0) 推荐(0)

导航