View previous topic :: View next topic |
Author |
Message |
micro_debugger
Joined: 08 Oct 2009 Posts: 73
|
Using CCS RS232 Bootloader under other OS |
Posted: Tue Jul 09, 2013 7:26 am |
|
|
Hello everybody,
I have question, how to use the CCS RS232 bootloader under other OS like Linux or MAC OS. Is it possible to do it via terminal program, I tried, but without success. Have you any idea??
Processor I'm working fro this project is the PIC18F25K20 and Compiler Version is 5.008
Any ideas welcome
Thank you and Kind regards |
|
|
temtronic
Joined: 01 Jul 2010 Posts: 9244 Location: Greensville,Ontario
|
|
Posted: Tue Jul 09, 2013 1:30 pm |
|
|
obvious questions
Do you have it working under Windows? If so which version?
Also
Are you using a real comport or a USB<>RS232 module?
More information is needed to figure this out....
cheers
jay |
|
|
micro_debugger
Joined: 08 Oct 2009 Posts: 73
|
|
Posted: Tue Jul 09, 2013 1:57 pm |
|
|
Hi,
It is working under windows very good with ccsbootloader.exe with "real" RS232 as also with FTDI. Both are working very well. I tried to upload it with XON/XOFF under teraterm, it is uploaded but never starts as in "standard way".
I tested it with Windows 7, but I need to have it working in all versions of windows and Linux or MAC OS. It is difficult to request from customers "dedicated" OS. For that reason I tried to use it with terminal program.
If you need I can upload the source, but nothing important has been changed compared to the original CCS version of ex_bootloader.
Thank you so much for your help.
Best Regards |
|
|
micro_debugger
Joined: 08 Oct 2009 Posts: 73
|
|
Posted: Thu Jul 11, 2013 3:26 pm |
|
|
Any idea to help me anybody. Just a point where I have to start looking for.
Thank you in advance
BR |
|
|
temtronic
Joined: 01 Jul 2010 Posts: 9244 Location: Greensville,Ontario
|
|
Posted: Thu Jul 11, 2013 5:04 pm |
|
|
Without knowing how the ccsbootloader operates..
..and reading this from your original post...
I tried to upload it with XON/XOFF under teraterm, it is uploaded but never starts as in "standard way".
..
I have the following general comments.
1) Since you appear to have transferred your previously working code into the PIC, using XON/XOFF, Teraterm works.This would rule out any hardare issues as well as most software issues(like baudrate)
2) Since it never starts in "standard way" I have to ask , just how does the PIC know it should run the newly program. Does the bootloader reset the PIC? Do you have to manually reset the PIC? Do you have to remove the RS232 connection to start in 'standard way'? What is 'standard way'?
3) Does your latest version 'load and go' under Windows?You say you made some minor changes....perhaps that's the problem ?
The last bootloader I worked with was on 68HC11 systems but most follow a similar theme and since ccsbootloader worked fine for a previous PIC program under Windows, I doubt it's at fault,since you did load the new program into the PIC.It seems to be the 'go' command/operation that isn't being executed.
Also.. I assume this is the same PIC, not a different type....
Obviously, someone who uses this bootloader has real world experience and of course asking CCS would be a good idea.
hth
jay
hth
jay |
|
|
gpsmikey
Joined: 16 Nov 2010 Posts: 588 Location: Kirkland, WA
|
|
Posted: Thu Jul 11, 2013 6:02 pm |
|
|
The most common issue I have run into when moving between the Linux and Windoze world tends to be how cr/lf or newlines are handled by the OS. I have run into more "strange" things in that corner - try reading a text file line by line using VBA in windows when the file was generated on a unix machine. VB blows up - I had to run a 'sed' script on the Unix side to convert the unix newline to the crlf that VB expects. Anyway, you might want to check that aspect out.
mikey _________________ mikey
-- you can't have too many gadgets or too much disk space !
old engineering saying: 1+1 = 3 for sufficiently large values of 1 or small values of 3 |
|
|
FvM
Joined: 27 Aug 2008 Posts: 2337 Location: Germany
|
|
Posted: Fri Jul 12, 2013 1:13 am |
|
|
I can confirm, that the CCS bootloader basically works with any terminal program that is able to handle a
text download with XON/XOFF control. You will be missing however the feature of repeating unacknowledged
hex records. So it's essential that the bootloader is synchronized with the download application from the
start. As mentioned in the loader.c comment, RS232 TX buffering might cause bootloader failure.
Two points that should be considered when wriring your own download application: The bootloader executes
a restart on the type 1 record, before the trailing comments records have been received. It doesn't ACK comment
records. |
|
|
micro_debugger
Joined: 08 Oct 2009 Posts: 73
|
|
Posted: Fri Jul 12, 2013 3:14 am |
|
|
Dear Friends,
Thank you so much for your help !!!!
I will do all mentioned points and return back to inform you when and if I solved it.
My Warmest Regards |
|
|
micro_debugger
Joined: 08 Oct 2009 Posts: 73
|
|
Posted: Sun Jul 14, 2013 6:18 am |
|
|
Hi,
I done all tests. It is working very well with CCS Bootloader. It is not working with TeraTerm, as also not working with Siow download. Software is exactly as in example of ex_booloader provided by CCS, therefore I can not publish it. I have version of CCS compiler 5.009 which is working until now very well. I tried various settings in the TeraTerm as also with Serial Port Settings (i have in mind the buffers) - still the same - not working. I have tested it with a pure RS232 (part of the PC mother board) as also with FTDI installed on the PCB. I would like to have it working without dedicated software just with terminal. I have done little RS232 monitoring, and it shows me that when downloading with terminal it is not stopping when PIC send XOFF, and continuously sending data which are missing by PIC. If you have any idea about how to setup terminal or anything please help me.
Please see the data exchange between the PIC and PC using CCS Bootloader working very well.
[13/07/2013 16:25:44] - Written data
3a 30 34 30 35 30 30 30 30 39 42 45 46 30 32 46 :040500009BEF02F
30 37 42 0d 07B.
[13/07/2013 16:25:44] - Read data
13 06 11 ...
[13/07/2013 16:25:44] - Written data
3a 30 38 30 35 30 38 30 30 45 41 36 41 30 45 30 :08050800EA6A0E0
45 45 39 36 45 45 46 35 30 45 35 0d EE96EEF50E5.
[13/07/2013 16:25:44] - Read data
13 06 11
we can see that the XOFF/XON is full working
Please see the data exchange when working with a simple terminal download, similar data
[13/07/2013 16:27:36] - Written data
3a 30 34 30 35 30 30 30 30 39 42 45 46 30 32 46 :040500009BEF02F
30 37 42 0d 3a 30 38 30 35 30 38 30 30 45 41 36 07B.:08050800EA6
41 30 45 30 45 45 39 36 45 45 46 35 30 45 35 0d A0E0EE96EEF50E5.
3a 31 30 30 35 31 30 30 30 31 31 45 30 31 34 30 :1005100011E0140
45 30 31 36 45 42 46 30 45 30 30 36 45 30 34 30 E016EBF0E006E040
30 30 30 32 45 46 44 44 37 31 38 0d 3a 31 30 30 0002EFDD718.:100
35 5
[13/07/2013 16:27:36] - Read data
06 .
[13/07/2013 16:27:36] - Written data
32 30 30 30 30 31 32 45 46 39 44 37 42 46 30 45 2000012EF9D7BF0E
30 30 36 45 30 30 32 45 46 45 44 37 30 30 30 30 006E002EFED70000
30 34 30 30 38 41 0d 3a 31 30 30 35 33 30 30 30 04008A.:10053000
45 46 32 45 45 46 44 37 31 32 30 30 46 38 36 41 EF2EEFD71200F86A
44 30 38 45 46 45 30 45 30 30 36 45 30 36 30 45 D08EFE0E006E060E
37 38 0d 3a 31 30 30 35 34 30 30 30 30 31 36 45 78.:10054000016E
30 32 02
[13/07/2013 16:27:36] - Read data
06 06 06
We can see that XON/XOFF is missing.
same firmware. Read data are data sent to PC from PIC.
Any idea how to correct it???
Thank you in advance
BR |
|
|
temtronic
Joined: 01 Jul 2010 Posts: 9244 Location: Greensville,Ontario
|
|
Posted: Sun Jul 14, 2013 8:10 am |
|
|
Most( if not all) 'terminal' programs should have an option for 'handshaking',either using hardware(CTS/DTS) or software(XON/XOFF).
It appears'XON/XOFF' has not been selected as the data should stop after xx number of bytes to allow processing of data.
SIOW settings say 'software flow control', I'd set to 'both' and try...
I'd check the setting of the terminal program.
hth
jay |
|
|
micro_debugger
Joined: 08 Oct 2009 Posts: 73
|
|
Posted: Sun Jul 14, 2013 2:42 pm |
|
|
Hi,
Thank you for your valuable suggestions. However I have done and check many times the handshaking to XON/XOFF as also change buffers to minimum.
Still the same.
The interesting point is that bootloader is working very well (100%) with standalone ccsbootloader program but does not with the SIOW downloading.
I have no idea what is wrong!!!! in my implementation.
BR |
|
|
temtronic
Joined: 01 Jul 2010 Posts: 9244 Location: Greensville,Ontario
|
|
Posted: Sun Jul 14, 2013 4:48 pm |
|
|
Sounds like it might be time to contact CCS directly, either email ([email protected]) or phone, as they wrote SIOW. They should be able to help!!
hth
jay |
|
|
Ttelmah
Joined: 11 Mar 2010 Posts: 19541
|
|
Posted: Mon Jul 15, 2013 12:55 am |
|
|
Where are you setting the flow control?.
There are two places, and depending on the com port, both may need to be set.
SIOW itself has a flow control setting, and the port itself (in device manager) has a setting. The latter does seem sometimes to override the former.
Also the device manager setting, seems sometimes to be ignored if the port is already open.
So sequence is:
1) Make sure SIOW is closed.
2) Now set Xon/Xoff in device manager.
3) Launch SIOW, and make sure it's Xon/Xoff setting is 'on'.
At this point flow control does seem to work....
Whether the device manager setting overrides the SIOW setting, seems to depend on particular com ports, and the OS being used.
Best Wishes |
|
|
micro_debugger
Joined: 08 Oct 2009 Posts: 73
|
|
Posted: Mon Jul 15, 2013 3:47 pm |
|
|
Hi,
I have tested everything, only the ccsbootloader is working, nothing else. I'm sending e-mail to CCS.
Will keep you informed.
BR |
|
|
|