|
发表于 2024-7-23 18:58:58
|
显示全部楼层
RL-FlashFs是通过下面函数,根据CSD[103:96]值判断速度的。但不明白为什么不是最大速度
/**
Determine maximum transfer speed from the CSD register data.
\return maximum transfer speed in Hz
*/
static uint32_t get_tran_speed (uint32_t *r2) {
static const uint8_t tim_val[] = {
0, 10, 12, 13, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 70, 80
};
uint32_t i, n, m, speed;
uint8_t *b;
b = (uint8_t *)r2;
/* Max. data transfer rate (TRAN_SPEED: CSD[103:96] */
n = (b[12] >> 3) & 0xF;
m = (b[12] & 0x7) + 1;
speed = tim_val[n];
for (i = 0; i < m; i++) {
speed *= 10;
}
return (speed * 1000);
} |
|