bbb sd6 无e2 修改

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));

    }

     


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/433050.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

session会话拦截ajax,session过期,拦截ajax请求并跳转登录页面

1.方法一 &#xff1a;1.1使用filter 和ajaxsetup 对ajax进行拦截并跳转登录页面public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)throws IOException, ServletException {HttpServletResponse hresponse (HttpServletResponse)re…

ubuntu下修改mysql编码,使能支持中文

通过sudo apt-get install mysql-server安装的mysql的编码是latin1&#xff0c;不能支持中文。 需要修改/etc/mysql/my.cnf文件&#xff0c;可以通过vim或者gedit进入&#xff0c; 找到[client] 添加:default-character-setutf8 //默认字符集为utf8 找到[mysqld]添加: default-…

php二维码存放json数据_PHP生成及获取JSON文件的方法

本文实例讲述了PHP生成及获取JSON文件的方法。分享给大家供大家参考&#xff0c;具体如下&#xff1a;首先定义一个数组&#xff0c;然后遍历数据表&#xff0c;把相应的数据放到数组中&#xff0c;最后通过json_encode()转化数组json_encode() 函数的功能是将数值转换成 JSON …

gsoap的几个常用设置选项

1. 服务器端设置地址重用 在soapXXXService.cpp中&#xff0c;在类的构造函数中增加 bind_flags SO_REUSEADDR; 2. 客户端设置连接超时时间 在soapXXXProxy.cpp中&#xff0c;在XXXProxy_init中增加 connect_timeout x; 3. 客户端设置请求超时时间 在soapXXXProxy.cpp中&…

post修改服务器数据源,postgresql安装及配置超详细教程

1. 安装根据业务需求选择版本&#xff0c;官网下载初始化数据库执行完初始化任务之后&#xff0c;postgresql 会自动创建和生成两个用户和一个数据库&#xff1a;linux 系统用户 postgres&#xff1a;管理数据库的系统用户&#xff1b;密码由于是默认生成的&#xff0c;需要在系…

小程序分享到朋友圈_如何给小程序添加分享朋友圈

微信公众号更新以后&#xff0c;推送不是按照优先来的&#xff0c;你们可以把我的微信公众号点击设置为星标&#xff0c;以便于及时的接收信息.从微信小程序官方分享朋友圈有那么几天了,今天就分享下如何给自己的小程序添加分享朋友圈代码,几行代码的事。根据官方的提示需要基础…

游戏开发第3天小结

今天是正式开始的第三天。这三天来一直在弄跟模型相关的事情&#xff0c;用blender来修改模型&#xff0c;做骨骼&#xff0c;蒙皮&#xff0c;导出到3dXchange中&#xff0c;再导到Iclone里去制作动作&#xff0c;最后导出到Unity里。简单就这样的一个工作流程。其中遇到各种头…

grep -q用于if逻辑判断

grep -q用于if逻辑判断突然发现grep -q 用于if 逻辑判断很好用。-q 参数&#xff0c;本意是 Quiet; do not write anything to standard output. Exit immediately with zero status if any match is found, even if an error was detected. 中文意思为&#xff0c;安静模式&…

iReport报表工具的使用

对于本人来说&#xff0c;报表工具只是刚刚接触&#xff0c;经过几个小时的摸索&#xff0c;基本的操作还是可以的。 &#xff08;1&#xff09;安装该工具总结 首先需要到日所安装数据库所需的驱动 工具--->选项--->classpath--->addjar(然后选中需要导入的数据库驱动…

mac远程redis_Linux:使用Mac远程(局域网内)访问Ubuntu主机上的Redis服务

1. 前言本文介绍的方法&#xff0c;是通过配置 Redis&#xff0c;在 Mac 上通过 ssh 协议访问 Ubuntu 主机的 Redis 服务&#xff1b;注意&#xff1a;如果 Ubuntu 不做 Redis 配置&#xff0c;Mac 直接访问 Ubuntu 的 Redis 服务时会报以下错误&#xff1a;Could not connect …

bbb 烧写脚本分析

ftp服务器地址&#xff0c;即CCS Uniflash的地址 SERVER_IP"192.168.2.1" MLO u-boot.img uImage压缩文件的名称&#xff0c;即ftp服务器下载目录里的文件名 BOOT_PARTITION"boot_partition.tar.gz" 文件系统的名称&#xff0c;即ftp服务器下载目录里的…

mysql 增量备份脚本_MySQL自动化(全量+增量)备份脚本

一、MySQL的日常备份方案&#xff1a;全备增量备份&#xff1a;1、周日凌晨三点进行全备&#xff1b;2、周一到周日增量备份。不是往常的周日全备份&#xff0c;周一到周六增量备份&#xff0c;这样如果周日数据库在完全备份前出问题&#xff0c;恢复完成后&#xff0c;会少周日…

JS代码大全

一、验证类 1、数字验证内 1.1 整数 /^(-|\)?\d$/.test(str) 1.2 大于0的整数 &#xff08;用于传来的ID的验证) /^\d$/.test(str) 1.3 负整数的验证 /^-\d$/.test(str) 2、时间类 2.1 短时间&#xff0c;形如 (13:04:06) function isTime(str) …

Linux编程里getopt_long_only函数用法详解

在程序中难免需要使用命令行选项&#xff0c;可以选择自己解析命令行选项&#xff0c;但是有现成的&#xff0c;何必再造轮子。下面介绍使用getopt_long_only和getopt_long( 两者用法差不多 )解析命令行选项。 程序中主要使用&#xff1a; 短选项长选项是否需要参数-n--userna…

mybatis的mysql参数传递参数_mybatis 传递参数的方法总结

有三种mybatis传递参数的方式:第一种mybatis传入参数是有序号的,可以直接用序号取得参数User selectUser(Stringname,String area);可以在xml配置文件中写select * from user_user_t where user_name #{0} and user_area#{1}#{0} 表示传递过来的第一参数 . 也就是说#{N} 就可以…

C# 数据的加密解密

/// <summary> /// 加密数据 /// </summary> /// <param name"Text"></param> /// <param name"sKey"></param> /// <returns></returns> public static string Encrypt(string Text, string sKey){DESCr…

strdup函数的用法

函数名: strdup 功 能: 将串拷贝到新建的位置处 用 法: char *strdup(char *str)&#xff1b; 这个函数在linux的man手册里解释为&#xff1a; The strdup() function returns a pointer toa new string which is a duplicate of the string s. Memory for thenew string is …

eclipse中查看mysql_eclipse中怎样查看sqlite数据库的表

string createtable(classclazz , string tablename){//实例化一个容器&#xff0c;用来拼接sql语句stringbuffer sbuffer new stringbuffer();//sql语句&#xff0c;第一个字段为_id 主键自增&#xff0c;这是通用的&#xff0c;所以直接写死sbuffer.append("create tab…

Java 泛型(一)

1&#xff0c;泛型的声明 a&#xff09;在方法中的声明&#xff1a; 现在访问修饰符后&#xff0c;返回值类型前加上<T>&#xff0c;其它字母亦可。 b&#xff09;在类中的声明&#xff1a; 在类名后加<T> 练习&#xff1a;用泛型写一个方法&#xff0c;将一个数组…

敏捷开发之Scrum扫盲篇

现在敏捷开发是越来越火了&#xff0c;人人都在谈敏捷&#xff0c;人人都在学习Scrum和XP... 为了不落后他人&#xff0c;于是我也开始学习Scrum&#xff0c;今天主要是对我最近阅读的相关资料&#xff0c;根据自己的理解&#xff0c;用自己的话来讲述Scrum中的各个环节&#x…