1. u-boot修改

board/ti/am335x/board.c

void s_init(void)和static int read_eeprom(void)这两个函数要从e2中读取数据,只需要把原版的bbb的e2中的数据读出来并添充到相应的数据结构里即可。

最终是要填充这个结构体

struct am335x_baseboard_id {
unsigned int  magic;
char name[HDR_NAME_LEN];
char version[4];
char serial[12];
char config[32];
char mac_addr[HDR_NO_OF_MAC_ADDR][HDR_ETH_ALEN];
  };

先在原版的板子上打印这个结构体数据

int i = 0;
   uchar *tmp = (uchar *)&header;       //header即为am335x_baseboard_id的变量
   for(i = 0; i < sizeof(header); i++)
   {
        if(i%10 == 0)
        printf("\n");
        printf("%x ", *tmp);
        tmp++;
   }

数据如下:

unsigned char e2_data[80] = {0xaa, 0x55, 0x33, 0xee, 0x41, 0x33, 0x33, 0x35, 0x42, 0x4e,
                   0x4c, 0x54, 0x30, 0x30, 0x41, 0x35, 0x35, 0x30, 0x30, 0x34,
                   0x42, 0x42, 0x42, 0x4b, 0x32, 0x37, 0x35, 0x30, 0x58, 0x41,
                   0x58, 0x58, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
                   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x30, 0x31,
                   0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x41, 0x42,
                   0x43, 0x44, 0x45, 0x46, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
                   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};

然后,在代码里填充这个结构体即可

int i = 0;
    uchar *tmp = (uchar *)&header;
    for(i = 0; i < sizeof(header); i++)
    {
        tmp[i] = e2_data[i];
    }

然后修改代码,找不到和读不到e2时,别让程序return就可以了

2. kernel修改

arch/arm/mach-omap2/board-am335xevm.c

static void am335x_evm_setup(struct memory_accessor *mem_acc, void *context)

修改以下两个地方即可

if (ret != sizeof(am335x_mac_addr)) {
          pr_warning("AM335X: EVM Config read fail: %d\n", ret);
          //return;
          memcpy(am335x_mac_addr, e2_data + EEPROM_MAC_ADDRESS_OFFSET, sizeof(am335x_mac_addr));
    }

if (ret != sizeof(config)) {
          pr_err("AM335X EVM config read fail, read %d bytes\n", ret);
          pr_err("This likely means that there either is no/or a failed EEPROM\n");
          //goto out;
          memcpy((char *)&config, e2_data, sizeof(config));
    }

bbb sd6 无e2 修改相关推荐

  1. 快速修改HTML5,HTML5无刷新修改URL(示例代码)

    HTML5新添加了两个api分别是pushState和replaceState,DOM中的window对象通过window.history方法提供了对浏览器历史记录的读取,可以在用户的访问记录中前进和 ...

  2. 无root 修改/usr/lib/x86_64-linux-gnu/libstdc 解决ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: v

    无root 修改/usr/lib/x86_64-linux-gnu/libstdc 解决ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: v ...

  3. Linux下的系统排错以及无图形修改root密码

    一.Linux系统引导过程 (1) 开机BIOS(基本输入输出系统)自检,加载硬盘. (2) 读取MBR,进行MBR引导. (3) grub文件引导去寻找boot所在分区(Boot Loader). ...

  4. element-ui 中的el-table表格默认的“暂无数据”修改

    el-table中当无空数据时会默认显示一个"暂无数据"(附下图),那如果我们想要修改怎么办呢?怎么修改呢? 解决办法如下: 只需要在el-tbale中的对应的插槽中写入你想展示的 ...

  5. HTML5无刷新修改URL:利用 History API 无刷新更改地址栏

    为什么80%的码农都做不了架构师?>>>    HTML5 新增的历史记录 API 可以实现无刷新更改地址栏链接,配合 AJAX 可以做到无刷新跳转. 简单来说:假设当前页面为ren ...

  6. Php无刷新修改url,history 实现无刷新更改url和页面内容

    在访问google plus 和网易m站时,细心的用户也许会发现页面之间的点击是通过ajax异步请求的,同时页面的URL发生了了改变.并且能够很好的支持浏览器的前进和后退.不禁让人想问,是什么有这么强 ...

  7. MVC数据验证原理及自定义ModelValidatorProvider实现无编译修改验证规则和错误信息...

    Asp.net MVC中的提供非常简单易用的数据验证解决方案. 通过System.ComponentModel.DataAnnotations提供的很多的验证规则(Required, StringLe ...

  8. 做html时css经常无效果,修改CSS样式无效有什么原因?

    修改CSS样式为什么会无效?原因是什么?下面本篇文章就来给大家介绍一下修改CSS样式无效的原因,有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. 一.HTML 标签未关闭 这是版面设计 ...

  9. 无刷新修改页面的浏览器地址栏显示地址的方法

    作为一个Web程序员,我经常会到网上去看别人是如何做网站,如何开发Web应用的.这样的好处有很多,一是开阔你的眼界,你能看到很多书本上没有的东西,二是看别人的代码是如何写的,取人之长.补己之短.像纯C ...

最新文章

  1. 案例:Oracle dul数据挖掘 磁盘损坏dul提取数据文件中表的数据及l
  2. [zz]启动apache后访问系统,提示没有权限访问目录,报403错误。
  3. 成功解决ImportError: cannot import name 'pywrap_tensorflow'
  4. 交大世界大学排名 计算机专业,2018考研:计算机专业全球院校排名公布,上海交通大学竟排第一?...
  5. 最像windows10的linux,Linuxfx:外观神似Win10的Linux操作系统
  6. 认证授权方案之JwtBearer认证
  7. java getname_Java文件类字符串getName()方法(带示例)
  8. Eclipse : Unresolved inclusion
  9. vb中filecopy拷贝文件
  10. linux 的那些hung 检测机制
  11. 【java】java 随机数 Random ThreadLocalRandom SecureRandom
  12. Jquery学习总结(3)——Jquery获取当前城市的天气信
  13. 日报管理系统_好车日报:通用电动车无线电池管理系统;8月皮卡增长39.8%
  14. Socket编程--TCP粘包问题
  15. BOOST库介绍(五)——智能指针shared_ptr
  16. 步进电机驱动器单片机控制电路
  17. WinMTR使用教程(附图)
  18. Pintech品致钳形交直流电流探头的操作步骤是什么
  19. 梦幻手游登录显示服务器爆满,梦幻西游手游服务器爆满怎么办
  20. 为什么心中总是各种“草泥马”在奔

热门文章

  1. java hanoi塔问题_java 解决汉诺塔问题
  2. eslint 无法格式化ts_vscode保存代码,自动按照eslint规范格式化代码设置
  3. sublime加入input函数_【挑战自学Python编程】第八天:while循环以及input()函数
  4. 制作双足机器人用易拉罐_小学生手工小制作用易拉罐做飞机模型的方法
  5. linux识别UDF文件系统吗,Linux Kernel UDF文件系统本地缓冲区溢出漏洞
  6. for in / for of 要会用
  7. Spring Aop——给Advice传递参数
  8. VMware的linux虚拟机实现和windows的文件共享
  9. 由object元素引出的事件注册问题和层级显示问题
  10. 怎样的中奖算法能让人信服