Hello again,
I've now got the C-Toolkit properly downloading 2nd stage bootloader and resetting the cifx50RE PCI card. Afterwards, the code progresses to downloading Firmware .. 1st the cifxecs.nxm file name. This seems to work, however, the DEV_DownloadFile->DEV_TransferPacket routine seems to return a ptRecvPkt->ulState = 0xC02b002f which is defined as RCX-E-FILE-NAME-INVALID. Can anyone tell me what is wrong with my filename, or otherwise why it would fail with this error?
Thanks,
-Pete-
Hi M T !
my cifx card has the same problem.
when I download FW to the card,
the returned value "lret" is 0xC02b002f (RCX_E_FILE_NAME_INVALID).
However, I can not understand your hints to pwhiteis clearly.
you mean
#define CIFX_TOOLKIT ?
or
#include "cifxtoolkit.h" ?
additionally, where to place this line? at the beginning of the "sample.cpp" ?
Hilscher Gesellschaft fuer Systemautomation mbH
Hi houzenan,
what is the used filename for the FW?
Please keep in your mind that the file name must fulfill the 8.3 specification.
Regards
AJ
Hilscher Gesellschaft für Systemautomation mbH
I wrote about a #define.
So you will either need to define CIFX_TOOLKIT in your preprocessor (e.g. -DCIFX_TOOLKIT in the Makefile) when compiling the toolkit. This should automatically be done when using the delivered configure scripts.
When compiling the download inside an application (not using libcifx) you will need to define CIFX_TOOLKIT in this project to make sure the data alignment is correct.
BTW: I don't have a clue why this topic is placed under Board Support Packages, as it seems to belong to the cifX Driver.
Regards
MT
This worked. The Toolkit starts, loads firmware, creates channels and runs the demo.
Thanks for your help
-Pete-
M T
Hilscher Gesellschaft für Systemautomation mbH
Some of the packet structures need to be packed (byte-aligned). I assume you forgot to set the define CIFX_TOOLKIT in your project, which should setup all needed structure packing correctly.
When downloading the firmware, a filename is inserted into the packet. The file name starts at a word offset. Without the packing two padding zeroes are placed between the word before the filename and the filename itself, resulting in an illegal packet being sent to the hardware.
Regards
MT