Topics

Bootloader update to 2.1

David Fainitski
 

Hello, people

Small update our bootloader to 2.1 ver.

Improved stability, "FPGA ERROR" message on the display when FPGA did not started, possibility to make a reset device after change a firmware by one-click-button.

The MCU firmware update is desirable but id not necessarily.

Also on the Git https://github.com/Dfinitski/Odyssey-2_2017_TRX/tree/master/Bootloader_2.1

Sid Boyce
 

Hi David,
Checking the procedure for upgrading is correct.
1. Power up in Bootloader mode.
2. ./BootLoader_2.1.pyw    (Address of my ODY-2 changed to 192.168.10.89)
3. select Odyssey_2_1.20_ANP.pof as the programming file.
73 ... Sid.

On 11/06/2019 00:40, David Fainitski wrote:
Hello, people

Small update our bootloader to 2.1 ver.

Improved stability, "FPGA ERROR" message on the display when FPGA did not started, possibility to make a reset device after change a firmware by one-click-button.

The MCU firmware update is desirable but id not necessarily.

Also on the Git https://github.com/Dfinitski/Odyssey-2_2017_TRX/tree/master/Bootloader_2.1
--
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

David Fainitski
 

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
 

Thanks David,
AOK.
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

Sid Boyce
 

I do not have a direct connection, it is connected to a 16-port Gigabit switch.
It finds the device but times out during erase.
Increased one timeout value to 4 seconds, powered off and it won't power on.
Removed front panel, pressed the power on switch -- The Green LED's are on but no LCD display. So the Green LED's will go ON/OFF with the power switch, the solid Green on the Ethernet also comes ON/OFF but the IP address is not found.
I don't understand what is happening.

 # grep timeout ./BootLoader_2.1.pyw
            sock.settimeout(1)# Waiting for reply
            sock.settimeout(4)# Waiting for reply
    sock.settimeout(12)
        sock.settimeout(2)# Waiting for reply

Removed front panel, pressed the power on switch -- The Green LED's are on but no LCD display. So the Green LED's will go ON/OFF with the power switch, the solid Green on the Ethernet also comes ON/OFF but the IP address is not found.
I don't understand what is happening.
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

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

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.

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

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

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.

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

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.

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.

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

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

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

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

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.

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

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