日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

bbb sd6 无e2 修改

發布時間:2023/12/10 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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));

? ? }

? ? ?


創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的bbb sd6 无e2 修改的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。