Difference between revisions of "Burning new firmware in v1495"

From PolWiki
Jump to navigationJump to search
m
Line 2: Line 2:
 
   telnet c-comptonv1
 
   telnet c-comptonv1
 
* change your directory to the place where you have the firmware saved
 
* change your directory to the place where you have the firmware saved
   cd "/home/cdaq/Compton/firmware/"
+
   cd "/home/cdaq/compton/firmware/"
 
* check if the list of files to confirm the new firmware in this location
 
* check if the list of files to confirm the new firmware in this location
 
   ls
 
   ls
Line 8: Line 8:
 
   ld < v1495.o
 
   ld < v1495.o
 
* check the VME bus address to which this v1495 is mapped. by running the sysBusToLocalAdrs command followed by printing the value.
 
* check the VME bus address to which this v1495 is mapped. by running the sysBusToLocalAdrs command followed by printing the value.
   sysBusToLocalAdrs(0x39, 0x210000 , &laddr);
+
   sysBusToLocalAdrs(0x39, 0x220000 , &laddr);
 
   printf("0x%x\n",laddr);
 
   printf("0x%x\n",laddr);
 
: '''1st parameter''': 0x39 stands for 24 bit addressing on my v1495 board, which could have been 0x09 in 32 bit addressing mode.
 
: '''1st parameter''': 0x39 stands for 24 bit addressing on my v1495 board, which could have been 0x09 in 32 bit addressing mode.
:'''2nd parameter''': 0x200000 is the hardware address set by me on this v1495, by setting the Hexa decimal dip switches on the top of the board to '0','0','2','0'. the last 4 bytes are automatically '0'
+
:'''2nd parameter''': 0x220000 is the hardware address set by me on this v1495, by setting the Hexa decimal dip switches on the top of the board to '0','0','2','2'. the last 4 bytes are automatically '0'
 
:'''3rd parameter''': laddr is a local variable (stands for local address), (if it is not already defined, then enter "laddr =0" in the CPU terminal to create a variable with that name)
 
:'''3rd parameter''': laddr is a local variable (stands for local address), (if it is not already defined, then enter "laddr =0" in the CPU terminal to create a variable with that name)
  
 
* finally run the function v1495firmware to burn in the binary file into the EEPROM of the v1495.
 
* finally run the function v1495firmware to burn in the binary file into the EEPROM of the v1495.
   v1495firmware(0xFA200000,"V1495CP_32bit_r320D.rbf",0,0)
+
   v1495firmware(0xFA220000,"V1495CP_32bit_r320E.rbf",0,0)
: '''1st parameter''': 0xFA200000 is the local VME bus addr of the v1495, corresponding to my hardware addr of 0x200000, found in step 5
+
: '''1st parameter''': 0xFA220000 is the local VME bus addr of the v1495, corresponding to my hardware addr of 0x220000, found in step 5
: '''2nd parameter''': v1495chcmaster_AA04.rbf is the name of the (raw binary format) file that I want to burn into the User FPGA memory of the v1495.(in the local directory/folder where I call this function)
+
: '''2nd parameter''': V1495CP_32bit_r320E.rbf is the name of the (raw binary format) file that I want to burn into the User FPGA memory of the v1495.(in the local directory/folder where I call this function)
 
: '''3rd parameter''': 0 stands for writing in ['1' for reading out]
 
: '''3rd parameter''': 0 stands for writing in ['1' for reading out]
 
: '''4th parameter''': 0 stands for User FPGA ['1' for Bridge FPGA]
 
: '''4th parameter''': 0 stands for User FPGA ['1' for Bridge FPGA]
  
 
This will take around 5 minutes. wait until that time, after which I see a message:
 
This will take around 5 minutes. wait until that time, after which I see a message:
   Updating firmware of the FPGA USER with the file V1495CP_32bit_r320D.rbf
+
   Updating firmware of the FPGA USER with the file V1495CP_32bit_r320E.rbf
 
   End of file: bp=112 bcnt=444952
 
   End of file: bp=112 bcnt=444952
 
   Firmware loaded successfully. Written 444952 bytes
 
   Firmware loaded successfully. Written 444952 bytes

Revision as of 12:17, 10 May 2010

  • You need to login into the CPU of the crate which has this v1495 using telnet or minicom.
 telnet c-comptonv1
  • change your directory to the place where you have the firmware saved
 cd "/home/cdaq/compton/firmware/"
  • check if the list of files to confirm the new firmware in this location
 ls
  • load the object file corresponding to the CAEN provided lib. [This library has the function 'v1495firmware' defined]
 ld < v1495.o
  • check the VME bus address to which this v1495 is mapped. by running the sysBusToLocalAdrs command followed by printing the value.
 sysBusToLocalAdrs(0x39, 0x220000 , &laddr);
 printf("0x%x\n",laddr);
1st parameter: 0x39 stands for 24 bit addressing on my v1495 board, which could have been 0x09 in 32 bit addressing mode.
2nd parameter: 0x220000 is the hardware address set by me on this v1495, by setting the Hexa decimal dip switches on the top of the board to '0','0','2','2'. the last 4 bytes are automatically '0'
3rd parameter: laddr is a local variable (stands for local address), (if it is not already defined, then enter "laddr =0" in the CPU terminal to create a variable with that name)
  • finally run the function v1495firmware to burn in the binary file into the EEPROM of the v1495.
 v1495firmware(0xFA220000,"V1495CP_32bit_r320E.rbf",0,0)
1st parameter: 0xFA220000 is the local VME bus addr of the v1495, corresponding to my hardware addr of 0x220000, found in step 5
2nd parameter: V1495CP_32bit_r320E.rbf is the name of the (raw binary format) file that I want to burn into the User FPGA memory of the v1495.(in the local directory/folder where I call this function)
3rd parameter: 0 stands for writing in ['1' for reading out]
4th parameter: 0 stands for User FPGA ['1' for Bridge FPGA]

This will take around 5 minutes. wait until that time, after which I see a message:

 Updating firmware of the FPGA USER with the file V1495CP_32bit_r320E.rbf
 End of file: bp=112 bcnt=444952
 Firmware loaded successfully. Written 444952 bytes
 Reloading user FPGA firmware...done!

Reboot the crate once and the new code would be loaded.