Date   
Re: Bootloader update to 2.1

AA6I Stan
 

Thank you in advance.     DE AA6I


On Jun 16, 2019, at 3:28 AM, Isaac <iweksler@...> wrote:

Hi guys.

I decided to help Odyssey-2 users and composed a detailed instruction on programming the MCU by PICKIT-3 and the Bootloader by USB Blaster and Quartus Programmer. This is based on instructions posted by David and others in Russian forums and my personal experients of several tens of programmings I've performed on my Odysey. Hope it will help.

And please look for mistakes which I possibly made. I'll welcome any comments and corrections. Questions as well.

 

73 Isaac 4Z1AO

 

From: ody-sdr@groups.io <ody-sdr@groups.io> On Behalf Of AA6I Stan
Sent: שבת 15 יוני 2019 22:16
To: ody-sdr@groups.io
Subject: Re: [ody-sdr] Bootloader update to 2.1

 

Sid;

 

For people like me, a write up would be greatly appreciated.

 

Thanks

Stan  AA6I

 

 

On 6/14/2019 11:22 PM, Sid Boyce wrote:

Thanks David,
That was the missing part of the puzzle as the ANP.rbf file was not there when I unzipped the download.

OK on the Pickit3.

When all done I must do a write-up on all this.
73 ... Sid.

On 15/06/2019 03:40, David Fainitski wrote:

Hello, Sid
Please understand the difference between bootloader and working firmware. You can write *Bootloader.rbf into slot 0 ONLY.* Because slot 0 is the starting address of memory, FPGA dowloads this bootloader code after start.
You can write working firmware like Odyssey_2_1.20_ANP.rbf into slots 1-3. You can not to write working firmware into slot 0.
If you will try to do something wrong, the programm wil say you that file incorrect to avoid problems.

If the bootloader code is damaged in memory, you can return it with Qartus. After that use Bootloader_2.1.pyw for upload working firmware to slots 1-3. If you did this before and slots filled, you don't need to do this more, only if you don't wont change firmware in certain slot.

Pickkit 3 technically has only 5 lines, 6-th is not used for programming. Align the connectors first to first pin and leave on fly 6-th. MCLR pin on board is first.
Set up manual device select, select 1.8V midrange family and choose needed MCU - PIC16F1827. After that set up LVP programm only. Select needed hex file and start programm the MCU.

 

<Instructions (MCU-BL).docx>

Re: Bootloader update to 2.1

Isaac
 

Hi guys.

I decided to help Odyssey-2 users and composed a detailed instruction on programming the MCU by PICKIT-3 and the Bootloader by USB Blaster and Quartus Programmer. This is based on instructions posted by David and others in Russian forums and my personal experients of several tens of programmings I've performed on my Odysey. Hope it will help.

And please look for mistakes which I possibly made. I'll welcome any comments and corrections. Questions as well.

 

73 Isaac 4Z1AO

 

From: ody-sdr@groups.io <ody-sdr@groups.io> On Behalf Of AA6I Stan
Sent: שבת 15 יוני 2019 22:16
To: ody-sdr@groups.io
Subject: Re: [ody-sdr] Bootloader update to 2.1

 

Sid;

 

For people like me, a write up would be greatly appreciated.

 

Thanks

Stan  AA6I

 

 

On 6/14/2019 11:22 PM, Sid Boyce wrote:

Thanks David,
That was the missing part of the puzzle as the ANP.rbf file was not there when I unzipped the download.

OK on the Pickit3.

When all done I must do a write-up on all this.
73 ... Sid.

On 15/06/2019 03:40, David Fainitski wrote:

Hello, Sid
Please understand the difference between bootloader and working firmware. You can write *Bootloader.rbf into slot 0 ONLY.* Because slot 0 is the starting address of memory, FPGA dowloads this bootloader code after start.
You can write working firmware like Odyssey_2_1.20_ANP.rbf into slots 1-3. You can not to write working firmware into slot 0.
If you will try to do something wrong, the programm wil say you that file incorrect to avoid problems.

If the bootloader code is damaged in memory, you can return it with Qartus. After that use Bootloader_2.1.pyw for upload working firmware to slots 1-3. If you did this before and slots filled, you don't need to do this more, only if you don't wont change firmware in certain slot.

Pickkit 3 technically has only 5 lines, 6-th is not used for programming. Align the connectors first to first pin and leave on fly 6-th. MCLR pin on board is first.
Set up manual device select, select 1.8V midrange family and choose needed MCU - PIC16F1827. After that set up LVP programm only. Select needed hex file and start programm the MCU.

 

Re: Bootloader update to 2.1

Marc olanie
 

… and I will send you a translation for french speaking hams :- )

Thanks Sid

 

Marc f6itu (still collecting Ody’s components)

 

De : ody-sdr@groups.io <ody-sdr@groups.io> De la part de AA6I Stan via Groups.Io
Envoyé : samedi 15 juin 2019 21:16
À : ody-sdr@groups.io
Objet : Re: [ody-sdr] Bootloader update to 2.1

 

Sid;

 

For people like me, a write up would be greatly appreciated.

 

Thanks

Stan  AA6I

 

 

On 6/14/2019 11:22 PM, Sid Boyce wrote:

Thanks David,
That was the missing part of the puzzle as the ANP.rbf file was not there when I unzipped the download.

OK on the Pickit3.

When all done I must do a write-up on all this.
73 ... Sid.

On 15/06/2019 03:40, David Fainitski wrote:

Hello, Sid
Please understand the difference between bootloader and working firmware. You can write *Bootloader.rbf into slot 0 ONLY.* Because slot 0 is the starting address of memory, FPGA dowloads this bootloader code after start.
You can write working firmware like Odyssey_2_1.20_ANP.rbf into slots 1-3. You can not to write working firmware into slot 0.
If you will try to do something wrong, the programm wil say you that file incorrect to avoid problems.

If the bootloader code is damaged in memory, you can return it with Qartus. After that use Bootloader_2.1.pyw for upload working firmware to slots 1-3. If you did this before and slots filled, you don't need to do this more, only if you don't wont change firmware in certain slot.

Pickkit 3 technically has only 5 lines, 6-th is not used for programming. Align the connectors first to first pin and leave on fly 6-th. MCLR pin on board is first.
Set up manual device select, select 1.8V midrange family and choose needed MCU - PIC16F1827. After that set up LVP programm only. Select needed hex file and start programm the MCU.

 

Re: Bootloader update to 2.1

AA6I Stan
 

Sid;


For people like me, a write up would be greatly appreciated.


Thanks

Stan  AA6I



On 6/14/2019 11:22 PM, Sid Boyce wrote:
Thanks David,
That was the missing part of the puzzle as the ANP.rbf file was not there when I unzipped the download.

OK on the Pickit3.

When all done I must do a write-up on all this.
73 ... Sid.

On 15/06/2019 03:40, David Fainitski wrote:
Hello, Sid
Please understand the difference between bootloader and working firmware. You can write *Bootloader.rbf into slot 0 ONLY.* Because slot 0 is the starting address of memory, FPGA dowloads this bootloader code after start.
You can write working firmware like Odyssey_2_1.20_ANP.rbf into slots 1-3. You can not to write working firmware into slot 0.
If you will try to do something wrong, the programm wil say you that file incorrect to avoid problems.

If the bootloader code is damaged in memory, you can return it with Qartus. After that use Bootloader_2.1.pyw for upload working firmware to slots 1-3. If you did this before and slots filled, you don't need to do this more, only if you don't wont change firmware in certain slot.

Pickkit 3 technically has only 5 lines, 6-th is not used for programming. Align the connectors first to first pin and leave on fly 6-th. MCLR pin on board is first.
Set up manual device select, select 1.8V midrange family and choose needed MCU - PIC16F1827. After that set up LVP programm only. Select needed hex file and start programm the MCU.



Re: Bootloader update to 2.1

David Fainitski
 

Re: Bootloader update to 2.1

Sid Boyce
 

I'll see if I can find the ANP.rbf file.
# unzip -l /home/lancelot/ftp/JUN19/XXX/Odyssey_2_1.20_ANP.zip
Archive:  /home/lancelot/ftp/JUN19/XXX/Odyssey_2_1.20_ANP.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
  8388811  2019-06-08 22:02   Odyssey_2_1.20_ANP.pof
---------                     -------
  8388811                     1 file
73 ... Sid.

On 15/06/2019 03:40, David Fainitski wrote:
Hello, Sid
Please understand the difference between bootloader and working firmware. You can write *Bootloader.rbf into slot 0 ONLY.* Because slot 0 is the starting address of memory, FPGA dowloads this bootloader code after start.
You can write working firmware like Odyssey_2_1.20_ANP.rbf into slots 1-3. You can not to write working firmware into slot 0.
If you will try to do something wrong, the programm wil say you that file incorrect to avoid problems.

If the bootloader code is damaged in memory, you can return it with Qartus. After that use Bootloader_2.1.pyw for upload working firmware to slots 1-3. If you did this before and slots filled, you don't need to do this more, only if you don't wont change firmware in certain slot.

Pickkit 3 technically has only 5 lines, 6-th is not used for programming. Align the connectors first to first pin and leave on fly 6-th. MCLR pin on board is first.
Set up manual device select, select 1.8V midrange family and choose needed MCU - PIC16F1827. After that set up LVP programm only. Select needed hex file and start programm the MCU.
--
Sid Boyce ... Hamradio License G3VBV, Licensed Private Pilot
Emeritus IBM/Amdahl Mainframes and Sun/Fujitsu Servers Tech Support
Senior Staff Specialist, Cricket Coach
Microsoft Windows Free Zone - Linux used for all Computing Tasks

Re: Bootloader update to 2.1

Sid Boyce
 

Thanks David,
That was the missing part of the puzzle as the ANP.rbf file was not there when I unzipped the download.

OK on the Pickit3.

When all done I must do a write-up on all this.
73 ... Sid.

On 15/06/2019 03:40, David Fainitski wrote:
Hello, Sid
Please understand the difference between bootloader and working firmware. You can write *Bootloader.rbf into slot 0 ONLY.* Because slot 0 is the starting address of memory, FPGA dowloads this bootloader code after start.
You can write working firmware like Odyssey_2_1.20_ANP.rbf into slots 1-3. You can not to write working firmware into slot 0.
If you will try to do something wrong, the programm wil say you that file incorrect to avoid problems.

If the bootloader code is damaged in memory, you can return it with Qartus. After that use Bootloader_2.1.pyw for upload working firmware to slots 1-3. If you did this before and slots filled, you don't need to do this more, only if you don't wont change firmware in certain slot.

Pickkit 3 technically has only 5 lines, 6-th is not used for programming. Align the connectors first to first pin and leave on fly 6-th. MCLR pin on board is first.
Set up manual device select, select 1.8V midrange family and choose needed MCU - PIC16F1827. After that set up LVP programm only. Select needed hex file and start programm the MCU.
--
Sid Boyce ... Hamradio License G3VBV, Licensed Private Pilot
Emeritus IBM/Amdahl Mainframes and Sun/Fujitsu Servers Tech Support
Senior Staff Specialist, Cricket Coach
Microsoft Windows Free Zone - Linux used for all Computing Tasks

Re: Bootloader update to 2.1

David Fainitski
 

Hello, Sid
Please understand the difference between bootloader and working firmware. You can write Bootloader.rbf into slot 0 ONLY.  Because slot 0 is the starting address of memory, FPGA dowloads this bootloader code after start.
You can write working firmware like Odyssey_2_1.20_ANP.rbf into slots 1-3. You can not to write working firmware into slot 0.
If you will try to do something wrong, the programm wil say you that file incorrect to avoid problems. 

If the bootloader code is damaged in memory, you can return it with Qartus. After that use Bootloader_2.1.pyw for upload working firmware to slots 1-3. If you did this before and slots filled, you don't need to do this more, only if you don't wont change firmware in certain slot.

Pickkit 3 technically has only 5 lines, 6-th is not used for programming. Align the connectors first to first pin and leave on fly 6-th. MCLR pin on board is first.
Set up manual device select, select 1.8V midrange family and choose needed MCU - PIC16F1827. After that set up LVP programm only. Select needed hex file and start programm the MCU.

Re: Bootloader update to 2.1

Sid Boyce
 

OK,
I use quartus to write the pof file OK and I can power up and down and software discovers it when powered up in normal mode.

In Bootloader mode it keeps saying incorrect file for slots 1-3 .when the rbf is selected. The rbf file is the only one that comes up for selection.

Also my PICKIT3 has a 6 plug and the connector on the ODY-2 only has 5 pins.
73 ... Sid.

On 14/06/2019 15:32, David Fainitski wrote:
I am sorry guys, I forgot that for correct bootloader's version indication you must to programm MCU with new hex files.

Sid, you can write to 0 slot only bootloader.rbf and to slots 1-3 only working_firmware.rbf

When you use Qartus, you have to use bootloader.pof files and technically you will write to 0 slot (starting memory address).
pof and rbf files are almost the same, difference only in packaging style of data.

Bootloader,pyw uses rbf files only
Quartus uses pof files.

David
--
Sid Boyce ... Hamradio License G3VBV, Licensed Private Pilot
Emeritus IBM/Amdahl Mainframes and Sun/Fujitsu Servers Tech Support
Senior Staff Specialist, Cricket Coach
Microsoft Windows Free Zone - Linux used for all Computing Tasks

Re: Bootloader update to 2.1

David Fainitski
 

I am sorry guys, I forgot that for correct bootloader's version indication you must to programm MCU with new hex files.

Sid, you can write to 0 slot only bootloader.rbf and to slots 1-3 only working_firmware.rbf

When you use Qartus, you have to use bootloader.pof files and technically you will write to 0 slot (starting memory address).
pof and rbf files are almost the same, difference only in packaging style of data.

Bootloader,pyw uses rbf files only
Quartus uses pof files.

David

Re: Bootloader update to 2.1

Sid Boyce
 

Hi David,
Writing the .rbf file to slot 0 with BootLoader_2.0.pyw results in having to use quartus to restore with the .pof file.

After that I use BootLoader_2.0.pyw which says the .rbf file should not go in slots 1-3.

if I put the .rbf file in slot 0 I am back at having to use quartus and the .pof file.

Powering up in normal mode I can't see what the firmware is as the display is a bit garbled with faded parts of the display until ODYYSEY is properly displayed.

Directions please.
73 ... Sid.

On 13/06/2019 16:39, Sid Boyce wrote:
Using BootLoader_2.0.pyw and selecting slot 0 only the rbf file is presented.

Is that correct or should it be the .pof file?

Not clear as to what slot the .pof file goes and where .rbf goes.

73 ... Sid.


On 12/06/2019 02:40, David Fainitski wrote:
Hello, Sid.
Yes, it is correct. But before change the bootloader by the same method with using bootloader 2.1 .rbf from this topic, flash to zero's slot.

New firmware flash to needed slot 1 to 3.

David.
--
Sid Boyce ... Hamradio License G3VBV, Licensed Private Pilot
Emeritus IBM/Amdahl Mainframes and Sun/Fujitsu Servers Tech Support
Senior Staff Specialist, Cricket Coach
Microsoft Windows Free Zone - Linux used for all Computing Tasks

Re: Bootloader update to 2.1

Sid Boyce
 

Using BootLoader_2.0.pyw and selecting slot 0 only the rbf file is presented.

Is that correct or should it be the .pof file?

Not clear as to what slot the .pof file goes and where .rbf goes.

73 ... Sid.

On 12/06/2019 02:40, David Fainitski wrote:
Hello, Sid.
Yes, it is correct. But before change the bootloader by the same method with using bootloader 2.1 .rbf from this topic, flash to zero's slot.

New firmware flash to needed slot 1 to 3.

David.
--
Sid Boyce ... Hamradio License G3VBV, Licensed Private Pilot
Emeritus IBM/Amdahl Mainframes and Sun/Fujitsu Servers Tech Support
Senior Staff Specialist, Cricket Coach
Microsoft Windows Free Zone - Linux used for all Computing Tasks

Re: Bootloader update to 2.1

Isaac
 

David,

 

I programmed the BL 2.1 too: 1st - by the BL2.1.pyw to slot 0. 1st time it succceeded, but when started - it displayed Bootloader 2.0. Then I tried again - this time it failed. Then I used the Quartus programmer (no choice) - and again it displayes Bootloader 2.0.

 

Where do I get the pof file, from your mail or from git?

 

73 Isaac 4Z1AO

 

From: ody-sdr@groups.io <ody-sdr@groups.io> On Behalf Of David Fainitski
Sent: יום ה 13 יוני 2019 16:24
To: ody-sdr@groups.io
Subject: Re: [ody-sdr] Bootloader update to 2.1

 

"bootloader 2 3" on the display ???
It should be " bootloader 2.1"

Next step try to use old 2.0 Bootloader.pyw

People are say that new one does not work reliability.
Will see. It works with mine.

Re: Bootloader update to 2.1

David Fainitski
 

"bootloader 2 3" on the display ???
It should be " bootloader 2.1"

Next step try to use old 2.0 Bootloader.pyw

People are say that new one does not work reliability.
Will see. It works with mine.

Re: Bootloader update to 2.1

Sid Boyce
 

Active Serial Programming worked and Bootloader displayed on LCD.
Bootloader 2 3
192.168.10.89
        Slot 1

What next?    In Bootloader mode - BootLoader_2.1.pyw to load Bootloader.rbf and what slot is recommended?
73 ... Sid.

On 12/06/2019 18:03, David Fainitski wrote:
Because you are using JTAG mode. Use serial programming.
JTAG mode uses for access to FPGA memory directly. Our goal - to flash dedicated EEPROM memory.
--
Sid Boyce ... Hamradio License G3VBV, Licensed Private Pilot
Emeritus IBM/Amdahl Mainframes and Sun/Fujitsu Servers Tech Support
Senior Staff Specialist, Cricket Coach
Microsoft Windows Free Zone - Linux used for all Computing Tasks

Re: Bootloader update to 2.1

David Fainitski
 

Because you are using JTAG mode. Use serial programming.
JTAG mode uses for access to FPGA memory directly. Our goal - to flash dedicated EEPROM memory.

Re: Bootloader update to 2.1

Sid Boyce
 

I get this error with or without bootloader mode when I try Add File.
I am using altera 15.0.
Intel 18.1 has a problem which I have raised with Intel - libpng12 is what it's looking for but all recent distros have libpng16 and the libpng12.deb won't install on Ubuntu 19.04. Building and installing libpng12 from source, it complains about another library.
73 ... Sid.

On 12/06/2019 14:48, David Fainitski wrote:
Hello, Sid
It looks like the bootloader was accidently spoiled.
You have to write bootloader.pof manually with byte blaster and Quartus.
If something went wrong you need to keep the power of the device and the bootloader will work inside the FPGA. If you did a reset and no bootloader in EEProm - this is crash the system and you must return bootloader to EEPROM manually.
--
Sid Boyce ... Hamradio License G3VBV, Licensed Private Pilot
Emeritus IBM/Amdahl Mainframes and Sun/Fujitsu Servers Tech Support
Senior Staff Specialist, Cricket Coach
Microsoft Windows Free Zone - Linux used for all Computing Tasks

Re: Bootloader update to 2.1

Sid Boyce
 

Thanks David.
I'll do that.
73 ... Sid.

On 12/06/2019 14:48, David Fainitski wrote:
Hello, Sid
It looks like the bootloader was accidently spoiled.
You have to write bootloader.pof manually with byte blaster and Quartus.
If something went wrong you need to keep the power of the device and the bootloader will work inside the FPGA. If you did a reset and no bootloader in EEProm - this is crash the system and you must return bootloader to EEPROM manually.
--
Sid Boyce ... Hamradio License G3VBV, Licensed Private Pilot
Emeritus IBM/Amdahl Mainframes and Sun/Fujitsu Servers Tech Support
Senior Staff Specialist, Cricket Coach
Microsoft Windows Free Zone - Linux used for all Computing Tasks

Re: Bootloader update to 2.1

David Fainitski
 

Hello, Sid
It looks like the bootloader was accidently spoiled.
You have to write bootloader.pof manually with byte blaster and Quartus.
If something went wrong you need to keep the power of the device and the bootloader will work inside the FPGA. If you did a reset and no bootloader in EEProm - this is crash the system and you must return bootloader to EEPROM manually.

Re: Bootloader update to 2.1

Sid Boyce
 

I selected slot 0 and used Odyssey_BL_2.1/Bootloader.rbf
As it complained of a timeout it either didn't erase slot 0 or it partially erased slot 0 and timed out.
73 ... Sid.

On 12/06/2019 02:40, David Fainitski wrote:
Hello, Sid.
Yes, it is correct. But before change the bootloader by the same method with using bootloader 2.1 .rbf from this topic, flash to zero's slot.

New firmware flash to needed slot 1 to 3.

David.
--
Sid Boyce ... Hamradio License G3VBV, Licensed Private Pilot
Emeritus IBM/Amdahl Mainframes and Sun/Fujitsu Servers Tech Support
Senior Staff Specialist, Cricket Coach
Microsoft Windows Free Zone - Linux used for all Computing Tasks