Difference between revisions of "Burning new firmware in v1495"
From PolWiki
Jump to navigationJump to searchm |
|||
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/ | + | 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, | + | 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''': | + | :'''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( | + | v1495firmware(0xFA220000,"V1495CP_32bit_r320E.rbf",0,0) |
− | : '''1st parameter''': | + | : '''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''': | + | : '''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 | + | 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.