uint32_t ddr_base = 0x10000000;
-#if 1
+#if 0
struct gramProfile profile = {
.mode_registers = {
- 0x2708, 0x2054, 0x0512, 0x0000
+ 0xb30, 0x806, 0x200, 0x0
},
.rdly_p0 = 2,
.rdly_p1 = 2,
};
#endif
#if 0
+ struct gramProfile profile = {
+ .mode_registers = {
+ 0xb20, 0x806, 0x200, 0x0
+ },
+ .rdly_p0 = 2,
+ .rdly_p1 = 2,
+ };
+#endif
+#if 1
struct gramProfile profile = {
.mode_registers = {
0x320, 0x6, 0x200, 0x0
gram_init(&ctx, &profile, (void*)ddr_base, (void*)0x00009000, (void*)0x00008000);
printf("done\n");
+#if 0
printf("Rdly\np0: ");
for (size_t i = 0; i < 8; i++) {
profile2.rdly_p0 = i;
printf("\tp1 rdly: %d\n", profile2.rdly_p1);
gram_reset_burstdet(&ctx);
+#endif
srand(time(NULL));
for (i = 0; i < kPatternSize; i++) {
printf("done\n");
}
+ printf("Dumping data sequence...\n");
+ for (i = 0; i < kPatternSize; i++) {
+ if ((i % kDumpWidth) == 0) {
+ printf("%08x | ", ddr_base+4*i);
+ }
+
+ expected_value = pattern[i];
+
+ for (int j = 3; j >= 0; j--) {
+ printf("%02x", ((uint8_t*)(&expected_value))[j]);
+ }
+
+ if ((i % kDumpWidth) == kDumpWidth-1) {
+ printf("\n");
+ } else {
+ printf(" ");
+ }
+ }
+ printf("\n");
+
printf("Reading data sequence...\n");
for (i = 0; i < kPatternSize; i++) {
if ((i % kDumpWidth) == 0) {
printf("\033[0;32m%02x\033[0m", ((uint8_t*)(&read_value))[j]);
}
}
-
+
if ((i % kDumpWidth) == kDumpWidth-1) {
printf("\n");
} else {