You should be able to power up the emulation, configure the prop plug, connect a terminal to it, hit a space and see the monitor respond. If that happens Pnut.exe will do it's thing.
Ok, I think I'm almost there now... Got the jumper on. Programmed the DE0 with the code specific to Chip's board.
The Prop Tool now identifies as Version 32 over the Prop Plug connection.
I can use PNut to load the DE0_Nano_Example.spin program and then use an oscope to see the pins toggling.
So, that all works. What I can't figure out yet is how to get the "Monitor" program working...
Isn't this supposed to be in ROM and there by default?
I'm not getting any prompt when I hit enter in a terminal program...
Tried loading "ROM_Monitor.spin" with PNut and still don't get any response in Chip's or Ariba's terminal.
I also tried uploading Ariba's Cordic example using has terminal and don't get any response...
If You still have problems with Monitor --- First Flach need be removed --- Second It is space that start up Monitor by adjusting baud-rate of serial port
I know that that is enabled on my version of Emulator -- So I think will be on Chip's to.
Yes! That's it. I gotta update the document for the add on boards. Maybe as an addendum, so that it mostly works and requires few edits on the real chip arrival.
Boot order is serial, SPI, then monitor, assuming security fuse bits are not set.
Oh... That did it. Removed the flash chip and now I get a response and a prompt with Parallax Serial Terminal.
I was thinking that we could program the Monitor with PNut and that code, but I guess that code is just the ROM code for reference, not
meant to be programmed via the PropPlug.
Now, I'll see if I can get Ariba's cordic code to work...
BTW: Do we have a way of programming that flash chip? Can it really boot off flash this way?
I can report on Chip's VGA modes now using a 17" Triview touchscreen VGA monitor (TS17R):
I think only the 1280x1024 version is working right... The others look very wrong:
6408001280
BTW: Do we have a way of programming that flash chip? Can it really boot of flash this way?
I assume Chip had a way to program the flash chips since the boards came with a program in flash. That's why you had to pull the chip. I'm not sure if this is a new feature of PNut.exe or if he used some other program to write to the flash chip. I'm going to add flash booting to propeller-load when I get a chance to do more P2 work, probably over the weekend.
Chip: If I write a COG image to SPI flash and want it to boot automatically at reset does it have to be signed? If so, how do I accomplish that? Can you post the algorithm needed to sign an image?
The space around the edges is perfectly normal. That's the old NTSC "safe area" You can decrease this by changing the cycle count in the border waitvids and adding to the active scan area.
BTW: I wasn't so sure about how to hook up the component video... Here's what I used:
DAC3=Y
DAC2=Pb
DAC1=Pr
That's correct.
Any video anomaly that is being experienced can be fixed with adjusted signal timing. I followed the spec's I found when I made each demo, but I might have made a mistake in implementation or had an incorrect spec. Whatever the case, the signalling can be coded to work universally for each mode.
Chip: If I write a COG image to SPI flash and want it to boot automatically at reset does it have to be signed? If so, how do I accomplish that? Can you post the algorithm needed to sign an image?
For the DE0/DE2 Prop2 emulator configurations, you just need to sign the binary with 8 x $00000001, and not the actual HMAC/SHA-256 signature that the silicon will require. This is to make life simpler for now.
Here is the "programmer" program I've been running to program the flash chip:
For the DE0/DE2 Prop2 emulator configurations, you just need to sign the binary with 8 x $00000001, and not the actual HMAC/SHA-256 signature that the silicon will require. This is to make life simpler for now.
Here is the "programmer" program I've been running to program the flash chip:
For the DE0/DE2 Prop2 emulator configurations, you just need to sign the binary with 8 x $00000001, and not the actual HMAC/SHA-256 signature that the silicon will require. This is to make life simpler for now.
Here is the "programmer" program I've been running to program the flash chip:
Yes! That's it. I gotta update the document for the add on boards. Maybe as an addendum, so that it mostly works and requires few edits on the real chip arrival.
Boot order is serial, SPI, then monitor, assuming security fuse bits are not set.
If you add a post to the thread with full info, I will provide a link from the first post to it, and brief info. Otherwise, once I have my addon running I will post my instructions.
BTW My DE0 arrived last night - thanks Chip and tubular. Looks great, fully assembled. Unfortunately out today so cannot try it out yet
I won't get to editing it to deal with the add-on boards until the weekend most likely. If you have anything to share, please do particularly for the NANO as I don't currently have one. I'll put it all in there and post up another revision. What is there is current, minus add on boards, where using the monitor is concerned.
Are the 32MB SDRAM, A/D converter, accelerometer and eeprom accessable by the emulator?
BTW: It appears that Chip has 4 pins going to the flash chip, so perhaps that could be an SQI chip.
If so, that might allow displaying an 8-bit bitmapped image off the flash chip, right?
For the DE0/DE2 Prop2 emulator configurations, you just need to sign the binary with 8 x $00000001, and not the actual HMAC/SHA-256 signature that the silicon will require. This is to make life simpler for now.
Here is the "programmer" program I've been running to program the flash chip:
It writes a little program to the flash that toggles P1 and P2.
Hi Chip,
I've been reading over your programmer code and I don't understand why you have to convert between big-endian and little-endian. Is the COG image assumed to be written to SPI flash in big-endian mode?
I've been reading over your programmer code and I don't understand why you have to convert between big-endian and little-endian. Is the COG image assumed to be written to SPI flash in big-endian mode?
I just noticed that the page at a time programming code won't work on SST25VF080B SPI flash chips. They seem to only be able to program one byte at a time with each 0x02 command. I guess there is no standard for the interface to SPI flash chips. Ugh.
I just noticed that the page at a time programming code won't work on SST25VF080B SPI flash chips. They seem to only be able to program one byte at a time with each 0x02 command. I guess there is no standard for the interface to SPI flash chips. Ugh.
Look at the AAI Word programming mode, p.13 ... you can use that command to program a sequence of bytes.
Thanks but I was kind of hoping the same code could be used to program both SST and WinBond chips. It looks like that won't be possible. I wonder how many other protocols there are? Who else makes SPI flash chips? I guess we're lucky the read commands seem to work on both chips.
Comments
http://forums.parallax.com/attachment.php?attachmentid=98587&d=1357887830
You should be able to power up the emulation, configure the prop plug, connect a terminal to it, hit a space and see the monitor respond. If that happens Pnut.exe will do it's thing.
The Prop Tool now identifies as Version 32 over the Prop Plug connection.
I can use PNut to load the DE0_Nano_Example.spin program and then use an oscope to see the pins toggling.
So, that all works. What I can't figure out yet is how to get the "Monitor" program working...
Isn't this supposed to be in ROM and there by default?
I'm not getting any prompt when I hit enter in a terminal program...
Tried loading "ROM_Monitor.spin" with PNut and still don't get any response in Chip's or Ariba's terminal.
I also tried uploading Ariba's Cordic example using has terminal and don't get any response...
What am I doing wrong?
Do any of the examples so far program the SPI flash chip on the board?
Will the emulator boot from the SPI flash chip?
Are the 32MB SDRAM, A/D converter, accelerometer and eeprom accessable by the emulator?
If You still have problems with Monitor --- First Flach need be removed --- Second It is space that start up Monitor by adjusting baud-rate of serial port
I know that that is enabled on my version of Emulator -- So I think will be on Chip's to.
Boot order is serial, SPI, then monitor, assuming security fuse bits are not set.
I was thinking that we could program the Monitor with PNut and that code, but I guess that code is just the ROM code for reference, not
meant to be programmed via the PropPlug.
Now, I'll see if I can get Ariba's cordic code to work...
BTW: Do we have a way of programming that flash chip? Can it really boot off flash this way?
I think only the 1280x1024 version is working right... The others look very wrong:
6408001280
NTSC seems to work, but there is a lot of space around the edges.
720p seems to work.
1080p has some wierd bending at the top of the screen...
ntsc7201080
DAC3=Y
DAC2=Pb
DAC1=Pr
That's correct.
Any video anomaly that is being experienced can be fixed with adjusted signal timing. I followed the spec's I found when I made each demo, but I might have made a mistake in implementation or had an incorrect spec. Whatever the case, the signalling can be coded to work universally for each mode.
For the DE0/DE2 Prop2 emulator configurations, you just need to sign the binary with 8 x $00000001, and not the actual HMAC/SHA-256 signature that the silicon will require. This is to make life simpler for now.
Here is the "programmer" program I've been running to program the flash chip:
programmer.spin
It writes a little program to the flash that toggles P1 and P2.
BTW My DE0 arrived last night - thanks Chip and tubular. Looks great, fully assembled. Unfortunately out today so cannot try it out yet
It lives here: http://forums.parallax.com/entry.php/1446-Using-The-P2-Monitor-Document-Complete-(for-now)
I won't get to editing it to deal with the add-on boards until the weekend most likely. If you have anything to share, please do particularly for the NANO as I don't currently have one. I'll put it all in there and post up another revision. What is there is current, minus add on boards, where using the monitor is concerned.
BTW: It appears that Chip has 4 pins going to the flash chip, so perhaps that could be an SQI chip.
If so, that might allow displaying an 8-bit bitmapped image off the flash chip, right?
I've been reading over your programmer code and I don't understand why you have to convert between big-endian and little-endian. Is the COG image assumed to be written to SPI flash in big-endian mode?
I just noticed that the page at a time programming code won't work on SST25VF080B SPI flash chips. They seem to only be able to program one byte at a time with each 0x02 command. I guess there is no standard for the interface to SPI flash chips. Ugh.
Look at the AAI Word programming mode, p.13 ... you can use that command to program a sequence of bytes.
The data is stored big-endian because the booter shifts in 32 bits at a time, MSB first, when it loads the boot image.