thefloe

Papilio Pro without SDRAM

35 posts in this topic

Hi Alvie,

 

Thank you very much. I'm looking forward hearing from you. In the meantime I'm trying a bit...

I added to the bootloader that it shows me what data are copied from the flash and also I read them back from RAM. Data are copied correct, as war as I see.

 

My changes to boot.cpp:

extern "C" void copy_sketch(register_t spidata, unsigned crc16base, unsigned sketchsize, volatile unsigned *target){	#ifdef VERBOSE_LOADER		unsigned k=0;			#endif		while (sketchsize--) {		for (int i=4;i!=0;i--) {			spiwrite(spidata,0);			REGISTER(crc16base,ROFF_CRC16APP)=spiread(spidata);		}		#ifdef VERBOSE_LOADER		printhex(k);		printstring(": ");			k++;		#endif			unsigned tmp = spiread(spidata);		*target = tmp;		#ifdef VERBOSE_LOADER		printhex(tmp);		printstring(" - ");		tmp = *target++;		printhex(tmp);		printstring(" done\n");			#endif	}	#ifdef VERBOSE_LOADER	printstring("end: ");	printhex(k);	printstring("\n");	#endif}

The output (when loading to RAM or after applying power to the board = loaded from FLASH):

ZPUINOCPsketchsize: 000001baFilling00000000: 310afade - 310afade done00000001: b4010f00 - b4010f00 done00000002: 0b0b0ba1 - 0b0b0ba1 done00000003: a7040000 - a7040000 done00000004: 710b0b0b - 710b0b0b done00000005: a9e82d50 - a9e82d50 done00000006: 04000000 - 04000000 done00000007: 00000000 - 00000000 done00000008: 02f0050d - 02f0050d done00000009: 91538852 - 91538852 done0000000a: ade80b90 - ade80b90 done0000000b: 05705254 - 05705254 done0000000c: a1bb2d88 - a1bb2d88 done0000000d: 088b3873 - 088b3873 done0000000e: 08840554 - 08840554 done0000000f: 8480b374 - 8480b374 done00000010: 0c029005 - 0c029005 done00000011: 0d0402f8 - 0d0402f8 done00000012: 050d0b0b - 050d0b0b done00000013: 0babe852 - 0babe852 done00000014: ade851a9 - ade851a9 done00000015: 962dade3 - 962dade3 done00000016: b08051a2 - b08051a2 done00000017: a22d0288 - a22d0288 done00000018: 050d0402 - 050d0402 done00000019: fc050dad - fc050dad done0000001a: e85170ae - e85170ae done0000001b: b82e8b38 - b82e8b38 done0000001c: 80717084 - 80717084 done0000001d: 05530ca0 - 05530ca0 done0000001e: ea040284 - ea040284 done0000001f: 050d0402 - 050d0402 done00000020: f8050dad - f8050dad done00000021: e05271ad - e05271ad done00000022: e82e8d38 - e82e8d38 done00000023: 71708405 - 71708405 done00000024: 53085170 - 53085170 done00000025: 2da18604 - 2da18604 done00000026: 0288050d - 0288050d done00000027: 0404a0a0 - 0404a0a0 done00000028: 2da0c62d - 2da0c62d done00000029: a1a10402 - a1a10402 done0000002a: f8050da0 - f8050da0 done0000002b: e32da0ff - e32da0ff done0000002c: 2d805280 - 2d805280 done0000002d: 51a19e2d - 51a19e2d done0000002e: a1b80402 - a1b80402 done0000002f: e0050d79 - e0050d79 done00000030: 028405ab - 028405ab done00000031: 05330288 - 05330288 done00000032: 05af0533 - 05af0533 done00000033: 84133370 - 84133370 done00000034: 59575959 - 59575959 done00000035: 567381ff - 567381ff done00000036: 2e098106 - 2e098106 done00000037: 98388516 - 98388516 done00000038: 33537652 - 33537652 done00000039: 7751a2f3 - 7751a2f3 done0000003a: 2d880881 - 2d880881 done0000003b: ff065574 - ff065574 done0000003c: 81ff2e8c - 81ff2e8c done0000003d: 387451a2 - 387451a2 done0000003e: d22d8808 - d22d8808 done0000003f: 80258b38 - 80258b38 done00000040: ff0b8417 - ff0b8417 done00000041: 34ff54a2 - 34ff54a2 done00000042: 9a047484 - 9a047484 done00000043: 17347482 - 17347482 done00000044: 800a2990 - 800a2990 done00000045: 0a05760c - 0a05760c done00000046: 80547388 - 80547388 done00000047: 0c02a005 - 0c02a005 done00000048: 0d0402f4 - 0d0402f4 done00000049: 050d80cc - 050d80cc done0000004a: 80808c70 - 80808c70 done0000004b: 08761155 - 08761155 done0000004c: 52527271 - 52527271 done0000004d: 27893871 - 27893871 done0000004e: 08518071 - 08518071 done0000004f: 24f93880 - 24f93880 done00000050: cc80808c - cc80808c done00000051: 52710851 - 52710851 done00000052: 727126f9 - 727126f9 done00000053: 38028c05 - 38028c05 done00000054: 0d0402f8 - 0d0402f8 done00000055: 050d7352 - 050d7352 done00000056: fe51718f - fe51718f done00000057: 248d3881 - 248d3881 done00000058: 722bacdc - 722bacdc done00000059: 0807acdc - 0807acdc done0000005a: 0c805170 - 0c805170 done0000005b: 880c0288 - 880c0288 done0000005c: 050d0402 - 050d0402 done0000005d: e0050d79 - e0050d79 done0000005e: 7b7d5758 - 7b7d5758 done0000005f: 56800bac - 56800bac done00000060: dc085954 - dc085954 done00000061: 80c05390 - 80c05390 done00000062: 0a130852 - 0a130852 done00000063: 71802e80 - 71802e80 done00000064: e7387581 - e7387581 done00000065: ff2e9338 - ff2e9338 done00000066: 71882a70 - 71882a70 done00000067: 81ff0651 - 81ff0651 done00000068: 5170762e - 5170762e done00000069: 09810680 - 09810680 done0000006a: cf387681 - cf387681 done0000006b: ff2e8e38 - ff2e8e38 done0000006c: 7181ff06 - 7181ff06 done0000006d: 5170772e - 5170772e done0000006e: 098106bc - 098106bc done0000006f: 38739f06 - 38739f06 done00000070: 81712b79 - 81712b79 done00000071: 06515170 - 06515170 done00000072: 802e8338 - 802e8338 done00000073: 81517081 - 81517081 done00000074: ff065170 - ff065170 done00000075: 802e8d38 - 802e8d38 done00000076: 7481ff2e - 7481ff2e done00000077: 9b38ff15 - 9b38ff15 done00000078: 55a3f804 - 55a3f804 done00000079: 7481ff2e - 7481ff2e done0000007a: 8738ff15 - 8738ff15 done0000007b: 55748938 - 55748938 done0000007c: 7381ff06 - 7381ff06 done0000007d: 51a48a04 - 51a48a04 done0000007e: 81148414 - 81148414 done0000007f: 54547390 - 54547390 done00000080: 2e098106 - 2e098106 done00000081: ff813881 - ff813881 done00000082: ff517088 - ff517088 done00000083: 0c02a005 - 0c02a005 done00000084: 0d0402f0 - 0d0402f0 done00000085: 050d9016 - 050d9016 done00000086: 70088405 - 70088405 done00000087: 78545553 - 78545553 done00000088: 82ee9b80 - 82ee9b80 done00000089: 51aa8e2d - 51aa8e2d done0000008a: 8808ff05 - 8808ff05 done0000008b: 84808007 - 84808007 done0000008c: 740c0290 - 740c0290 done0000008d: 050d0402 - 050d0402 done0000008e: fc050d90 - fc050d90 done0000008f: 13700884 - 13700884 done00000090: 05700881 - 05700881 done00000091: 06880c51 - 06880c51 done00000092: 51028405 - 51028405 done00000093: 0d0402fc - 0d0402fc done00000094: 050d9013 - 050d9013 done00000095: 70087008 - 70087008 done00000096: 880c5151 - 880c5151 done00000097: 0284050d - 0284050d done00000098: 04ff0b88 - 04ff0b88 done00000099: 0c0402f8 - 0c0402f8 done0000009a: 050d7452 - 050d7452 done0000009b: 7351a492 - 7351a492 done0000009c: 2d028805 - 2d028805 done0000009d: 0d0402f8 - 0d0402f8 done0000009e: 050d9014 - 050d9014 done0000009f: 70088405 - 70088405 done000000a0: 53517108 - 53517108 done000000a1: 70822a70 - 70822a70 done000000a2: 81065151 - 81065151 done000000a3: 5170f338 - 5170f338 done000000a4: 0288050d - 0288050d done000000a5: 0402f005 - 0402f005 done000000a6: 0d750284 - 0d750284 done000000a7: 059b0533 - 059b0533 done000000a8: 90120884 - 90120884 done000000a9: 05545454 - 05545454 done000000aa: 71087081 - 71087081 done000000ab: 2a708106 - 2a708106 done000000ac: 51515170 - 51515170 done000000ad: f3389014 - f3389014 done000000ae: 0873710c - 0873710c done000000af: 51810b88 - 51810b88 done000000b0: 0c029005 - 0c029005 done000000b1: 0d0402fc - 0d0402fc done000000b2: 050dade8 - 050dade8 done000000b3: 0b900551 - 0b900551 done000000b4: ff0b8412 - ff0b8412 done000000b5: 34810b85 - 34810b85 done000000b6: 1234ade8 - 1234ade8 done000000b7: 51800b84 - 51800b84 done000000b8: 120c87e8 - 120c87e8 done000000b9: 0b88120c - 0b88120c done000000ba: abf8710c - abf8710c done000000bb: 0284050d - 0284050d done000000bc: 0402e005 - 0402e005 done000000bd: 0d797b58 - 0d797b58 done000000be: 58800b84 - 58800b84 done000000bf: 19575582 - 19575582 done000000c0: 548a5375 - 548a5375 done000000c1: 70810557 - 70810557 done000000c2: 33527651 - 33527651 done000000c3: a8e02d88 - a8e02d88 done000000c4: 081555ae - 081555ae done000000c5: 527651a7 - 527651a7 done000000c6: a02d8808 - a02d8808 done000000c7: 15ff1555 - 15ff1555 done000000c8: 55738025 - 55738025 done000000c9: dc388a53 - dc388a53 done000000ca: 87183352 - 87183352 done000000cb: 7651a8e0 - 7651a8e0 done000000cc: 2d880815 - 2d880815 done000000cd: 880c02a0 - 880c02a0 done000000ce: 050d0402 - 050d0402 done000000cf: e4050d78 - e4050d78 done000000d0: 7a575780 - 7a575780 done000000d1: 0bff1c55 - 0bff1c55 done000000d2: 5573ff2e - 5573ff2e done000000d3: 9c387608 - 9c387608 done000000d4: 76708105 - 76708105 done000000d5: 58335377 - 58335377 done000000d6: 52700851 - 52700851 done000000d7: 53722d88 - 53722d88 done000000d8: 0815ff15 - 0815ff15 done000000d9: 5555a6c9 - 5555a6c9 done000000da: 0474880c - 0474880c done000000db: 029c050d - 029c050d done000000dc: 0402e805 - 0402e805 done000000dd: 0d777970 - 0d777970 done000000de: 56565674 - 56565674 done000000df: 802e9938 - 802e9938 done000000e0: 7451ab89 - 7451ab89 done000000e1: 2d750888 - 2d750888 done000000e2: 08547553 - 08547553 done000000e3: 76528411 - 76528411 done000000e4: 08515473 - 08515473 done000000e5: 2d880854 - 2d880854 done000000e6: 73880c02 - 73880c02 done000000e7: 98050d04 - 98050d04 done000000e8: 02f0050d - 02f0050d done000000e9: 75700802 - 75700802 done000000ea: 88059b05 - 88059b05 done000000eb: 33545551 - 33545551 done000000ec: 73085372 - 73085372 done000000ed: 2d029005 - 2d029005 done000000ee: 0d0402ff - 0d0402ff done000000ef: b8050d63 - b8050d63 done000000f0: 65028805 - 65028805 done000000f1: 80d70533 - 80d70533 done000000f2: 0280d005 - 0280d005 done000000f3: 5b595759 - 5b595759 done000000f4: 80783476 - 80783476 done000000f5: 81268338 - 81268338 done000000f6: 8a577577 - 8a577577 done000000f7: 53765255 - 53765255 done000000f8: aa8e2d88 - aa8e2d88 done000000f9: 08778808 - 08778808 done000000fa: 29767131 - 29767131 done000000fb: 7081ff06 - 7081ff06 done000000fc: ff1cb012 - ff1cb012 done000000fd: 545c5157 - 545c5157 done000000fe: 55568975 - 55568975 done000000ff: 278438b7 - 278438b7 done00000100: 15547378 - 15547378 done00000101: 3475d338 - 3475d338 done00000102: 77547780 - 77547780 done00000103: 2e993877 - 2e993877 done00000104: 51ab892d - 51ab892d done00000105: 78088808 - 78088808 done00000106: 54785379 - 54785379 done00000107: 52841108 - 52841108 done00000108: 5154732d - 5154732d done00000109: 88085473 - 88085473 done0000010a: 880c0280 - 880c0280 done0000010b: c8050d04 - c8050d04 done0000010c: 02e8050d - 02e8050d done0000010d: 77797b56 - 77797b56 done0000010e: 57557393 - 57557393 done0000010f: 38740876 - 38740876 done00000110: 81ff0653 - 81ff0653 done00000111: 75527008 - 75527008 done00000112: 5154732d - 5154732d done00000113: a8db0473 - a8db0473 done00000114: 81ff0653 - 81ff0653 done00000115: 75527451 - 75527451 done00000116: a7ba2d02 - a7ba2d02 done00000117: 98050d04 - 98050d04 done00000118: 02f0050d - 02f0050d done00000119: 029b0533 - 029b0533 done0000011a: 78545275 - 78545275 done0000011b: 51a8b02d - 51a8b02d done0000011c: 0290050d - 0290050d done0000011d: 0402f005 - 0402f005 done0000011e: 0d75538d - 0d75538d done0000011f: 527251a7 - 527251a7 done00000120: a02d8808 - a02d8808 done00000121: 548a5272 - 548a5272 done00000122: 51a7a02d - 51a7a02d done00000123: 88081488 - 88081488 done00000124: 0c029005 - 0c029005 done00000125: 0d0402f0 - 0d0402f0 done00000126: 050d7577 - 050d7577 done00000127: 53705254 - 53705254 done00000128: a6f12d88 - a6f12d88 done00000129: 08745253 - 08745253 done0000012a: a8f52d88 - a8f52d88 done0000012b: 0813880c - 0813880c done0000012c: 0290050d - 0290050d done0000012d: 0402fc05 - 0402fc05 done0000012e: 0d7251ff - 0d7251ff done0000012f: 0b841234 - 0b841234 done00000130: 810b8512 - 810b8512 done00000131: 34ff0ba8 - 34ff0ba8 done00000132: 120cff0b - 120cff0b done00000133: ac120c80 - ac120c80 done00000134: 0bb0120c - 0bb0120c done00000135: 0284050d - 0284050d done00000136: 0402fc05 - 0402fc05 done00000137: 0dae8451 - 0dae8451 done00000138: a9b52d02 - a9b52d02 done00000139: 84050d04 - 84050d04 done0000013a: 02f4050d - 02f4050d done0000013b: 7452718f - 7452718f done0000013c: 26973871 - 26973871 done0000013d: 101010ac - 101010ac done0000013e: e0057008 - e0057008 done0000013f: 54527280 - 54527280 done00000140: 2e873884 - 2e873884 done00000141: 12085172 - 12085172 done00000142: 2d028c05 - 2d028c05 done00000143: 0d04fe3d - 0d04fe3d done00000144: 0d805375 - 0d805375 done00000145: 52745194 - 52745194 done00000146: 3f843d0d - 3f843d0d done00000147: 04fe3d0d - 04fe3d0d done00000148: 81537552 - 81537552 done00000149: 7451853f - 7451853f done0000014a: 843d0d04 - 843d0d04 done0000014b: fc3d0d76 - fc3d0d76 done0000014c: 78535481 - 78535481 done0000014d: 53807473 - 53807473 done0000014e: 26525572 - 26525572 done0000014f: 802e9838 - 802e9838 done00000150: 70802ea9 - 70802ea9 done00000151: 38807224 - 38807224 done00000152: a4387110 - a4387110 done00000153: 73107572 - 73107572 done00000154: 26535452 - 26535452 done00000155: 72ea3873 - 72ea3873 done00000156: 51788338 - 51788338 done00000157: 74517088 - 74517088 done00000158: 0c863d0d - 0c863d0d done00000159: 0472812a - 0472812a done0000015a: 72812a53 - 72812a53 done0000015b: 5372802e - 5372802e done0000015c: e6387174 - e6387174 done0000015d: 26ef3873 - 26ef3873 done0000015e: 72317574 - 72317574 done0000015f: 0774812a - 0774812a done00000160: 74812a55 - 74812a55 done00000161: 555654e5 - 555654e5 done00000162: 39fd3d0d - 39fd3d0d done00000163: 75707183 - 75707183 done00000164: 06535552 - 06535552 done00000165: 70b83871 - 70b83871 done00000166: 70087009 - 70087009 done00000167: f7fbfdff - f7fbfdff done00000168: 120670f8 - 120670f8 done00000169: 84828180 - 84828180 done0000016a: 06515152 - 06515152 done0000016b: 53709d38 - 53709d38 done0000016c: 84137008 - 84137008 done0000016d: 7009f7fb - 7009f7fb done0000016e: fdff1206 - fdff1206 done0000016f: 70f88482 - 70f88482 done00000170: 81800651 - 81800651 done00000171: 51525370 - 51525370 done00000172: 802ee538 - 802ee538 done00000173: 72527133 - 72527133 done00000174: 5170802e - 5170802e done00000175: 8a388112 - 8a388112 done00000176: 70335252 - 70335252 done00000177: 70f83871 - 70f83871 done00000178: 7431880c - 7431880c done00000179: 853d0d04 - 853d0d04 done0000017a: 68657265 - 68657265 done0000017b: 00000000 - 00000000 done0000017c: 00000000 - 00000000 done0000017d: 00000000 - 00000000 done0000017e: 00001295 - 00001295 done0000017f: 0000133b - 0000133b done00000180: 00001237 - 00001237 done00000181: 0000124e - 0000124e done00000182: 00001261 - 00001261 done00000183: 00001276 - 00001276 done00000184: 00001266 - 00001266 done00000185: 00000000 - 00000000 done00000186: 00000000 - 00000000 done00000187: 0000109d - 0000109d done00000188: 0000133b - 0000133b done00000189: 0000109d - 0000109d done0000018a: 0000109d - 0000109d done0000018b: 0000109d - 0000109d done0000018c: 0000109d - 0000109d done0000018d: 00000000 - 00000000 done0000018e: 00000000 - 00000000 done0000018f: 000012f1 - 000012f1 done00000190: 00000000 - 00000000 done00000191: 00000000 - 00000000 done00000192: 0000109d - 0000109d done00000193: 00000000 - 00000000 done00000194: 00000000 - 00000000 done00000195: 0000109d - 0000109d done00000196: 0000133b - 0000133b done00000197: 00000000 - 00000000 done00000198: 00000000 - 00000000 done00000199: 00000000 - 00000000 done0000019a: 00000000 - 00000000 done0000019b: 00000000 - 00000000 done0000019c: 00000000 - 00000000 done0000019d: 00000000 - 00000000 done0000019e: 00000000 - 00000000 done0000019f: 00000000 - 00000000 done000001a0: 00000000 - 00000000 done000001a1: 00000000 - 00000000 done000001a2: 00000000 - 00000000 done000001a3: 00000000 - 00000000 done000001a4: 00000000 - 00000000 done000001a5: 00000000 - 00000000 done000001a6: 00000000 - 00000000 done000001a7: 00000000 - 00000000 done000001a8: 00000000 - 00000000 done000001a9: 00000000 - 00000000 done000001aa: 00000000 - 00000000 done000001ab: 00000000 - 00000000 done000001ac: 00000000 - 00000000 done000001ad: 00000000 - 00000000 done000001ae: 00000000 - 00000000 done000001af: 00000000 - 00000000 done000001b0: 00000000 - 00000000 done000001b1: 00000000 - 00000000 done000001b2: 00000000 - 00000000 done000001b3: 00000000 - 00000000 done000001b4: 00000000 - 00000000 done000001b5: 00000000 - 00000000 done000001b6: 00000000 - 00000000 done000001b7: 00000000 - 00000000 done000001b8: 000012c6 - 000012c6 done000001b9: 000014d9 - 000014d9 doneend: 000001baFilledLoaded, starting...

But after "Loaded, starting..." nothing happens. Maybe that helps to narrow down the problem.

Share this post


Link to post
Share on other sites

Can you send me the generated .ELF file?

 

That sketch looks quite small to me....

Share this post


Link to post
Share on other sites

here it is. DesignLab IDE tells: Binary sketch size: 1,848 bytes (of a 27,648 byte maximum) - 1,768 bytes ROM, 220 bytes memory, 6% used

 
ok 0x1BA = 442 which would gives 1768 bytes. The same as displayed.

SerialTest.zip

Share this post


Link to post
Share on other sites

Hi Alvie,

 

Just figured out I could go back in git history and check. I just run the commit 95217a1  from 30 Oct 2014. I compiles and runs fine on the papilio_one. I will now use this release and try to port it to the LX9. Thanks for your help so far. Maybe it also helps a bit to figure out, what happened since then...

 

Tobias

Share this post


Link to post
Share on other sites

Hi Alvie & Jack,

 

I got the Design running now on a Spartan 6 without using SDRAM ;) By using the code for the s3e500 from commit 95217a1  from 30 Oct 2014.

 

I vermied using a custom LX9 Board. Took a bit longer as I had to patch papilio-prog and zpuinoprogrammer to get the SPI Flash working (SST26VF064B). But the design is up and running ;)

 

I then tried to get a ngc built for using with DesignLab. I get a ngc built and when I integrate it into a schematics and build I get a lot of strange errors:

ERROR:NgdBuild:462 - input pad net 'XLXI_50_wishbone_slot_14_out_openSignal<1>'   drives multiple buffers:     pin I on block XLXI_50/Inst_ZPUino_Papilio_ProNoSD_V2_blackbox/gpio_bus_in_54_IBUF with type IBUF,     pin I on block XLXI_50/Inst_ZPUino_Papilio_ProNoSD_V2_blackbox/gpio_bus_in_53_IBUF with type IBUF,     pin I on block XLXI_50/Inst_ZPUino_Papilio_ProNoSD_V2_blackbox/gpio_bus_in_52_IBUF with type IBUF,...
ERROR:NgdBuild:924 - input pad net 'XLXI_50_wishbone_slot_14_out_openSignal<1>'   is driving non-buffer primitives:     pin G on block XST_GND with type GND,     pin I on block ext_pins_out_100_OBUFT with type OBUFT,     pin I on block ext_pins_out_99_OBUFT with type OBUFT,     pin I on block ext_pins_out_98_OBUFT with type OBUFT,     pin I on block ext_pins_out_97_OBUFT with type OBUFT,     pin I on block ext_pins_out_96_OBUFT with type OBUFT,...

The instance referred to is the one created from the schematics -> a vhf file. There I can find all the signal names that throw errors. But I cannot find the reason why. Maybe you came across the same behavior?

 

When I got things sorted out I would be glad to share the code. I just need to know where to put what, as many things are interconnected or at multiple places.

Share this post


Link to post
Share on other sites

Looks like you are adding duplicate buffers.
Can you try disabling "Add IO buffers" in Synthesis Options, under Xilinx Specific Options ?

 

Alvie

Share this post


Link to post
Share on other sites

Thanks, that did it ;) Found the line (-iob xxx) in the xst file. Yes, now it's up and running! Today or latest tomorrow I should receive a different flash memory that is directly supported.

 

So for preparing uploading my changes to github I have some questions: should I create a new board id, and if, how. Alvie you mentioned before that somehow memory size is encoded there...

Share this post


Link to post
Share on other sites

Yes, it's better to assign you a new board ID.

 

What's your current memory size ?

Plus, is that a custom board or a real Papilio board ? Just to see if it's better to create a new "Vendor" id.

Share this post


Link to post
Share on other sites

My plan is it to run it on a custom board that uses the same pin layout as the Papilio Pro. So it can run there. It's just not using the SDRAM. By now it's really just the Papilio One core for the S3E500 running on the S6LX9 with pin assignment from Papilio Pro.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now