85 lines
1.9 KiB
C
85 lines
1.9 KiB
C
#include "bflb_core.h"
|
|
#include "board.h"
|
|
|
|
void test32(void)
|
|
{
|
|
uint32_t i, val;
|
|
|
|
printf("============= check uint32_t ==============\r\n");
|
|
|
|
for (i = 0; i < 256; i += 4) {
|
|
*((volatile uint32_t *)(BFLB_PSRAM_BASE + i)) = i / 4;
|
|
}
|
|
|
|
for (i = 0; i < 256; i += 4) {
|
|
val = *((volatile uint32_t *)(BFLB_PSRAM_BASE + i));
|
|
printf("addr = 0x%08X, val = 0x%08X\r\n", (BFLB_PSRAM_BASE + i), *((volatile uint32_t *)(BFLB_PSRAM_BASE + i)));
|
|
|
|
if (i / 4 != val) {
|
|
printf("psram check fail\r\n");
|
|
while (1) {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
void test16(void)
|
|
{
|
|
uint32_t i, val;
|
|
|
|
printf("============= check uint16_t ==============\r\n");
|
|
|
|
for (i = 0; i < 256; i += 2) {
|
|
*((volatile uint16_t *)(BFLB_PSRAM_BASE + i)) = i / 2;
|
|
}
|
|
|
|
for (i = 0; i < 256; i += 2) {
|
|
val = *((volatile uint16_t *)(BFLB_PSRAM_BASE + i));
|
|
printf("addr = 0x%08X, val = 0x%08X\r\n", (BFLB_PSRAM_BASE + i), *((volatile uint16_t *)(BFLB_PSRAM_BASE + i)));
|
|
|
|
if (i / 2 != val) {
|
|
printf("psram check fail\r\n");
|
|
while (1) {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
void test8(void)
|
|
{
|
|
uint32_t i;
|
|
uint8_t val;
|
|
|
|
printf("============= check uint8_t ==============\r\n");
|
|
|
|
for (i = 0; i < 256; i++) {
|
|
*((volatile uint8_t *)(BFLB_PSRAM_BASE + i)) = i;
|
|
}
|
|
|
|
for (i = 0; i < 256; i++) {
|
|
val = *((volatile uint8_t *)(BFLB_PSRAM_BASE + i));
|
|
printf("addr = 0x%08X, val = 0x%08X\r\n", (BFLB_PSRAM_BASE + i), *((volatile uint8_t *)(BFLB_PSRAM_BASE + i)));
|
|
|
|
if ((uint8_t)i != val) {
|
|
printf("psram check fail\r\n");
|
|
while (1) {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
int main(void)
|
|
{
|
|
board_init();
|
|
|
|
printf(" psram read write test \r\n");
|
|
|
|
test8();
|
|
test16();
|
|
test32();
|
|
|
|
printf(" test success\r\n");
|
|
|
|
while (1) {
|
|
}
|
|
} |