step2 uboot tag存储主要部分代码】的更多相关文章

  cmd_bootm.c //传递给内核的参数      int do_bootm (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])           do_bootm_linux  (cmdtp, flag, argc, argv,  addr, len_ptr, verify);           原型:void do_bootm_linux (cmd_tbl_t *cmdtp, int flag, int argc, char…
https://www.cnblogs.com/pokerface/p/5217106.html     cmd_bootm.c //传递给内核的参数      int do_bootm (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])           do_bootm_linux  (cmdtp, flag, argc, argv,  addr, len_ptr, verify);           原型:void do_bootm…
一.MMU介绍 1.1 虚拟地址与物理地址 建立两个应用程序,hello1.c和hello2.c,然后运行: hello1.c hello2.c 运行结果如下: 可以看到两个结果打印的地址是一样的,都为 0x601040,这说明两段程序都运行于同一个地址中.我们的死循环程序又保证了两个程序在同时运行.   对于2440来说,如下图: CPU只管发出地址,读写数据.不管地址是否是物理地址还是虚拟地址. 写程序的时候,链接地址也没有物理地址和虚拟地址.链接地址是CPU看到的,是从CPU的角度来说的.…
一.CPU访问芯片的条件 CPU通过访问存储控制器,来读取外部设备的数据. CPU想访问一个芯片,需要如下条件(配置信息): 地址线 数据线:8位/16位/32位数据宽度 时钟/频率 其他芯片相关的特性:比如SDRAM,有行地址.列地址和bank SDRAM的访问和表格检索的原理一样,先指定一个行(Row),再指定一个列(Columu),就可以准确找到所需要的单元格.这个单元格称为存储单元,这个表格(存储阵列)就是逻辑Bank(Logical Bank,即L-Bank),SDRAM一般含有4个L…
最开始已经建立了新单板以及配置文件,现在就需要做的是代码的修改,配置成适合目标板使用的u-boot. 一.时钟修改 在代码流程分析中,我们知道,系统的启动是: 设置 CPU 为管理员模式 关闭看门狗 屏蔽中断 设置启动参数:时钟 FCLK:HCLK:PCLK = 1:2:4     FCLK=120MHZ flush v4 I/D caches disable MMU stuff and caches DRAM设置 在DRAM设置中,有如下定义说明: 在这段初始化步骤中,并没有看见系统时钟的设置…
一.问题定位 开发板重启后打印了2个提醒和一个错误,caches的提醒先不看,看看flash和nand下面的提醒,bad CRC,Using default enviroment,我们可以定位Using default enviroment定位到 代码位置,如下: Env_common.c (common) 传入的参数应该是 !badCRC,再次定位函数set_default_env 看是在哪里调用此函数: 基本上文件都在common文件夹下,有common中的调用和 dataflash,nan…
前言 正文开始之前,我想我们需要弄明白几个问题: 1.tag 是什么? 2.使用tag 的好处? 3.tag 和 branch 的区别以及使用场景? tag 是什么? tag , 翻译过来是标签的意思,顾名思义,标签是为了标记某种事物. tag 是 Git 版本库的一个快照,指向某个 commit 的指针. 使用tag 的好处? tag 的存在,是因为我们需要这种标记的功能.目前的项目开发中,当发布版本时 tag 就派上用场了.例如 v1.0.1,v1.0.2… 另外,git 提供了 tag 的…
一.NAND原理 NAND 无地址空间,地址和数据的发送都依赖于LDATA[0:7]这一串数据总线. 不看随机页编程,看到从高位到低位的页,总共分为64个页面,每个页的组成是2K + 64  个byte,一个块的大小是(128K + 4K)byte,64页组成一块. 1.1 NAND Flash的编址 nand flash的的页的大小是(2048 + 64)byte,64这个数据是不参与编址的. 访问 nand flash: 发出命令:读.写.擦除 发出地址 传输数据 命令设置如下: 1.2 n…
一.代码流程 1.1 串口代码 程序流程图如下: default_serial_console 执行的代码如下: 在JZ2440.H中有如下定义: 则执行结构体s3c24xx_serial0_device,从而执行INIT_S3C_SERIAL_STRUCTURE(0, "s3ser0"): _serial_setbrg 为串口时钟设置函数: 其中,调用get_PCLK()进行串口时钟的设置: PCLK的计算涉及到 HCLK,在函数中调用了get_HCLK() 来获取HCLK的值. g…
一.错误处理 上一节遇到一个错误: print一下: 发现我们在jz2440.h中静态写的网络参数都没有写进去. dm9000 address not set. dm9000的地址未设置. 这里对应两个函数: static int eth_pre_unbind(struct udevice *dev) 和 int eth_write_hwaddr(struct eth_device *dev, const char *base_name, int eth_number) 这里两个函数对应着宏 C…
一.内核裁剪 内核的裁剪首先就是修改我们的配置文件,即 include/configs/jz2440.h 文件,里面定义的很多宏,我们也许用不上的就要去掉. /* * (C) Copyright 2002 * Sysgo Real-Time Solutions, GmbH <www.elinos.com> * Marius Groeger <mgroeger@sysgo.de> * Gary Jennejohn <garyj@denx.de> * David Muell…
都知道U-BOOT分为两个阶段,第一阶段是(~/cpu/arm920t/start.S中)在FLASH上运行(一般情况 下),完成对硬件的初始化,包括看门狗,中断缓存等,并且负责把代码搬移到SDRAM中(在搬移的时候检查自身代码是否在SDRAM中),然后完成C程序 运行所需要环境的建立,包括堆栈的初始化等,最后执行一句跳转指令: ldr pc, _start_armboot _start_armboot: .word start_armboot, 进入到/lib_arm/board.c中的函数v…
调用一系列的初始化函数 1. 指定初始函数表: init_fnc_t *init_sequence[] = { cpu_init,           /* cpu 的基本设置         */ board_init, /* 开发板的基本初始化 */ interrupt_init,      /* 初始化中断             */ env_init,            /* 初始化环境变量        */ init_baudrate,       /* 初始化波特率     …
问题描述 在使用Azure存储服务,为了有效的保护Storage的Access Keys.可以使用另一种授权方式访问资源(Shared Access Signature: 共享访问签名), 它的好处可以控制允许访问的IP,过期时间,权限 和 服务 等.Azure门户上提供了对Account级,Container级,Blob级的SAS生成服务. 那么使用代码如何来生成呢? 问题回答 以最常见的两种代码作为示例:.NET 和 Java .NET Blob SAS 将使用帐户访问密钥(Storage…
layout文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_pare…
应用程序后在那个的数据大致有四种基本的逻辑结构: 集合:数据元素之间只有"同属于一个集合"的关系 线性结构:数据元素之间存在一个对一个的关系 树形结构:数据元素之间存在一个对多个关系 图形结构或网状结构:数据元素之间存在多个对多个的关系 对于数据不同的逻辑结构,计算机在物理磁盘上通常有两种屋里存储结构 顺序存储结构 链式存储结构 本篇博文主要讲的是线性结构,而线性结构主要是线性表,非线性结构主要是树和图. 线性表的基本特征: 总存在唯一的第一个数据元素 总存在唯一的最后一个数据元素 除…
The linux kernel and u-boot contains lots of files, when we want to broswe the source code,we just want to see these compiled files, and the header files which required. So this script in this repo is to make a filelist to tell us the files compiled…
一.烧写文件系统 1.1 jffs2烧写 1.下载文件系统:tftp 30000000 fs_mini_mdev.jffs2 2.擦除文件的块:nand erase.part rootfs 3.烧入文件系统:nand write.jffs2 30000000 0x00260000 5b89a8 4.设置启动参数:set bootargs console=ttySAC0 root=/dev/mtdblock3 rootfstype=jffs2 5.重新启动 这个需要先烧写内核. 1.2 yaffs…
一.runtime实现通用copy 如果自定义类的子类,模型套模型你真的会copy吗,小心有坑. copy需要自定义类继承NSCopying协议 #import <objc/runtime.h> - (id)copyWithZone:(NSZone *)zone { id obj = [[[self class] allocWithZone:zone] init]; Class class = [self class]; while (class != [NSObject class]) {…
本文转载自:http://blog.csdn.net/oqqHuTu12345678/article/details/72236117 以下内容源于朱有鹏<物联网大讲坛>课程的学习,如有侵权,请告知删除. 1.在uboot-jiuding/board.c中,init_sequence中的display_banner中的open_backlight函数中,给GPF3_5输出高电平.     注释掉这一句uboot的LCD显示照样正常的,因为后面LCD操作的部分还会再做一遍的. 真正的初始化LCD…
文章转载自微信公众号:机器学习炼丹术.欢迎大家关注,这是我的学习分享公众号,100+原创干货. 文章目录: 目录 1 模型构建函数 1.1 add_module 1.2 ModuleList 1.3 Sequential 1.4 小总结 2 遍历模型结构 2.1 modules() 2.2 named_modules() 2.3 parameters() 3 保存与载入 本文是对一些函数的学习.函数主要包括下面四个方便: 模型构建的函数:add_module,add_module,add_mod…
  publicclassLinkQueue<T>{       //结点类     publicclassNode{         public T data;         publicNode next;           publicNode(T obj,Node next){             this.data = obj;             this.next = next;         }     }       privateNode head,fron…
作者 : 韩曙亮 博客地址 : http://blog.csdn.net/shulianghan/article/details/42462795 转载请著名出处 相关资源下载 :  -- u-boot 源码 : http://download.csdn.net/detail/han1202012/8342761 -- S3C2440 文档 : http://download.csdn.net/detail/han1202012/8342701 -- S5PV210_iROM_Applicati…
一.vectors.S 1.1 代码地址 vectors.S (arch\arm\lib) 1.2 流程跳转 跳转符号 B 为 start.S 中的 reset 执行代码,暂且先不看,先看看 vector.S 中的执行. 1.3 代码分析 ldr{条件} 目的寄存器 <存储器地址> _start: #ifdef CONFIG_SYS_DV_NOR_BOOT_CFG .word CONFIG_SYS_DV_NOR_BOOT_CFG #endif /* LDR{条件} 目的寄存器 <存储器地…
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/qianlong4526888/article/details/27698707 注意:由于文档是去年写的,内有多个图片.上传图片非常麻烦(须要截图另存插入等等).我把文章的PDF版本号上传到了CSDN下载资源中.为了给自己赚点积分.所以标价2分,没有积分的同学能够直接留言跟我要,记得留下邮箱. 下面是文章内容,由于我懒得编辑图片了,所以文章看来会非常不爽,强烈推荐点击以上红色链接下载pdf版. 文…
场景 Winform中设置ZedGraph鼠标悬浮显示距离最近曲线上的点的坐标值和X轴与Y轴的标题: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103140781 上面博客能实现鼠标悬浮显示最近的曲线上点的坐标值与X轴和Y轴的标题, 如果想要再显示其他信息,比如曲线所对应的文件名等. 那么就要在生成曲线时将自定义要保存的信息与曲线进行绑定存储. 注: 博客主页: https://blog.csdn.net/badao_li…
需求描述: 这边有很多tag分支版本的代码,我想克隆下载指定版本到我服务器上面 例如:我想下载tag:1.4.1的代码 解决方法: 命令:git clone --branch [tags标签] [git地址] 或者 git clone --b [tags标签] [git地址] 例如:git clone -b 1.4.1 https://github.com/jumpserver/coco.git…
服务端:192.168.0.96 gitlab 客户端:192.168.0.97 git 服务端gitlab安装请参照: https://www.cnblogs.com/effortsing/p/10012158.html 客户端下载.打tag.推送代码如下操作: 安装git yum install -y git 配置ssh密钥 ssh-keygen -t rsa -f /root/.ssh/id_rsa -P "" 添加ssh-key公钥到gitlab, 哪台需要连接gitlab服务…
ref:http://blog.chinaunix.net/uid-30352139-id-5128405.html uboot: 2014.07 1.1    U-boot相关文件 boards.cfg: ARCH = ARM CPU = ARMv7 SOC = exynos BOARD = smdkc210 VENDER = samsung files: Include/configs/smdkc210.h arch/$(ARCH)/cpu/$(CPU)/start.S board/$(VE…
Git指令大全:https://www.alexkras.com/getting-started-with-git/ Git提交错了,还是Master分支,哎呦喂咋整?请见下文.   [场景描述] 项目test分支需要合并到master分支,并且给master打上tag. 因为笔者没有打过tag,所以是先合并代码到本地,然后才创建tag. 正确步骤,先加tag,再合并代码,最后push.   [补救方法] //进入分支 git checkout <分支名称>   //保存一份当前分支的备份到本…