目前共有4篇帖子。 字體大小:較小 - 100% (默認)▼  內容轉換:台灣正體▼
 
點擊 回復
75 3
CYWL6208-GS讀取Chip ID的方法
一派掌門 二十級
1樓 發表于:2025-4-7 21:52
/* 設置Backplane地址的高17位 */
static void WiFi_SetBackplaneWindow(uint32_t addr)
{
  addr &= 0xffff8000;
  WiFi_LowLevel_WriteReg(1, 0x1000c, addr >> 24);
  WiFi_LowLevel_WriteReg(1, 0x1000b, (addr >> 16) & 0xff);
  WiFi_LowLevel_WriteReg(1, 0x1000a, (addr >> 8) & 0xff);
}

/* 讀取Backplane值 */
void WiFi_ReadBackplaneValue(uint32_t addr, void *buffer, uint8_t len)
{
  uint8_t *p = buffer;
 
  WiFi_SetBackplaneWindow(addr);
 
  // 取Backplane地址的低15位
  addr &= 0x7fff; // sb offset addr is <= 15 bits, 32k
  if (len == 4)
    addr |= 0x8000; // with b15, maps to 32-bit SB access
 
  while (len > 0)
  {
    *p = WiFi_LowLevel_ReadReg(1, addr);
    addr++;
    p++;
    len--;
  }
  WiFi_SetBackplaneWindow(0x18000000);
}

uint16_t value;
printf("----------------------------------------------\n");
WiFi_ReadBackplaneValue(0x18000000, &value, 2);
printf("Chip ID: %d\n", value);
一派掌門 二十級
2樓 發表于:2025-4-7 21:52
讀出來的chip id是43430。
 
一派掌門 二十級
3樓 發表于:2025-4-7 21:53
另外,SDIO CIS信息裡面的0xa9a6換算成十進位也是43430。
 
一派掌門 二十級
4樓 發表于:2025-4-7 22:02
 

回復帖子

內容:
用戶名: 您目前是匿名發表
驗證碼:
(快捷鍵:Ctrl+Enter)
 

本帖信息

點擊數:75 回複數:3
評論數: ?
作者:巨大八爪鱼
最後回復:巨大八爪鱼
最後回復時間:2025-4-7 22:02
 
©2010-2025 Purasbar Ver2.0
除非另有聲明,本站採用創用CC姓名標示-相同方式分享 3.0 Unported許可協議進行許可。