Other Parts Discussed in Thread: C2000WARE
Tool/software: Linux
Hello All,
Is it possible to program the microcontroller using a Raspberry pi zero?
I am interested on programing the controller remotley or thru a Raspberry pi zero.
Thanks
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Tool/software: Linux
Hello All,
Is it possible to program the microcontroller using a Raspberry pi zero?
I am interested on programing the controller remotley or thru a Raspberry pi zero.
Thanks
I don't know enough about your system to say whether or not SCI is best, but I think it's probably a good choice. Note that the boot loaders only load to RAM. If you want to load to flash, you need to load a flash kernel. We have an app note on the subject: http://www.ti.com/lit/pdf/sprabv4
You can also refer to C2000Ware_1_00_06_00/device_support/f2837xs/examples/cpu1/F2837xS_sci_flash_kernel
What board are you using for the F28377S? Is it a LaunchPad? Assuming you are, the USB interface provides a serial connection to SCIA over GPIOs 84 and 85. I don't think any of the SCI boot mode pins are brought out to the jumpers on the F28377S, so that may be your easiest option with the LaunchPad. I don't know how compatible this is with the Raspberry Pi board though.
I believe the serial_flash_programmer is just for use on Windows PCs with the C2000 connected to a COM port via the USB connection I mentioned. You will need to write your own host side program for your Raspberry Pi. I think we share the source for the utility--you can study it and see if some of it can be reused.
Whitney
I loaded C2000Ware_1_00_06_00/device_support/f2837xs/examples/cpu1/F2837xS_sci_flash_kernel to the device and now the controller is responding during SCI boot mode.
I have moved forward to the programming phase (load the kernel for flash programming using the raspberry pi), I am trying to code the host side program based on the source for the utility--.
I will appreciate any other information for programming the host side program.
Thanks.
Hello,
-I'm facing problems when loading the kernel to the controller, at the middle of the loading it always responds "A" when "D" has been sent (at the same data trend of the kernel), I tried to troubleshoot the problem by sending a "D" just after the BaudLock is performed and the controller responds correctly with a "D". It seems that something into the data trend (kernel) makes the controller respond "A" instead of "D". Do you have any idea of what can be happening?
I also ran the Serial Flash Programmer executable on windows to see if my host is not sending the data properly, but:
.\serial_flash_programmer.exe -p COM12 -d f2837xS -k .\F2837xS_sci_flash_kernel_cpu01.txt -b 9600 -v
C2000 Serial Firmware Upgrader
Copyright (c) 2013 Texas Instruments Incorporated. All rights reserved.
getting comm state
building comm DCB
adjusting port settings
calling f021_DownloadKernel CPU1 Kernel
Downloading .\F2837xS_sci_flash_kernel_cpu01.txt to device...
Attempting autobaud to load kernel...
Autobaud for kernel successful! Loading kernel file...
a==a
8==8
0==67
Data does not match... Please press Ctrl-C to abort.
The windows executable just load two lines where mine loads almost half of the kernel, it exactly fails after the trend 61 A 6F 40 76 1A CA D.
I tried to look for some information at:
e2e.ti.com/.../712706
e2e.ti.com/.../638536
But did not have much help.
-I Also was trying to get the function which is supposed to receive the kernel on the controller side but could not find it, after (at SCI_GetFunction.c):
SCIA_Init(BootMode);
SCIA_AutobaudLock();
command = SCI_GetPacket(&length, data);
It follows a sequence of "if" statements but all of them are related to the options when the controller is booting from the kernel (after loading the kernel). Could you help me to find this function?
Thanks in advance.