Go Down

Topic: [Q]: Tailoring the Due to Eclipse.. (Read 24 times) previous topic - next topic

bonfire

Nope, still not working. I've been using a Teensy3 on Eclipse with Nassarane's guide on PJRC forums, very similar to this one.

This time I followed exactly step by step Zad's guide, as I am also using OSX, with the same result as before.
My libArduinoDuoCore.a is 121.846 bytes (pretty similar to yours) and the Blink.bin 42.340 bytes.
It compiles well, flashes it as Arduino IDE would do, but the LED is not flashing. I don't know what else to try.

noblepepper

I just noticed your questions did you ever get things straightened out?

I have eclipse working great on Ubuntu 13.04, I'll be glad to help if you still need any.

My libarduinoDueCore.a is 115,096  bytes.

renjith_rohin

What should be the size for ArduinoDueCoreLibrary?? I am getting a lib.a file with 141.6kb size.
I can build the ArduinoDueCoreLibrary without errors,5 warnings.But after that if i try to open some files say Arduino.h it is giving semantic errors like Type 'uint32_t' could not be resolved.I did something wrong???? Please help, I am struggling with this..

renjith_rohin

#42
Jun 12, 2013, 07:39 am Last Edit: Jun 12, 2013, 07:59 am by renjith_rohin Reason: 1
Thanks for the good work Nassa & Zad,.
I am new to this and I followed your notes to start my work with my Arduino Due in Ubuntu 12.04,,I could build the ArduinoDueCoreLibrary with some warnings.I could build the ## ArduinoDue Blink example without errors ( I guess this [\code] at the end of the command line pattern came by mistake${COMMAND} ${FLAGS} ${OUTPUT_FLAG}  ${OUTPUT_PREFIX}${OUTPUT} -Wl,--start-group ${INPUTS} -Wl,--end-group[\code]. I tried with that command line pattern, got some errors and then I removed[\code] and now it is building without errors., ) and without problems I can load the .hex to the board, but the LED is not blinking.What can be the problem?Please help me to solve this.I am waiting for your reply.

bonfire

#41
May 17, 2013, 12:46 am Last Edit: May 17, 2013, 04:54 pm by bonfire Reason: 1
Well, first sorry to bump this post but since my problem came using the guide posted here, I think this is the best choice.

I've followed the guide on OSX tweaking all the differences between the original Windows config to mine, and I got Eclipse to successfully build the library and the Blink project. I also followed a tip from Zad to generate a .bin file although it didn't solve my problem.
The thing is that despite the file is compiled (I think) correctly, and flashed without errors to the DUE, it doesn't work. The .hex file is 126kb and the .bin is 45kb. Any idea what can be wrong or any way I can debug it?

Anyway, thank you Nassarane for the guide, it's the only one I've found around and it's pretty straight forward.


And now my two cents:

One of the differences I encountered between Windows and OSX was the external tools part. The first tweak to Nassa's code is to change the way arguments are passed to Bossac inside the script. The unix command is $@ in stead of %*.
Then, the main change is how to erase the flash memory. If you run $ stty -f /dev/tty.usbmodemxxx 1200 from terminal it works perfectly, but it doesn't work from a script. To make it work this way you have to tweak ".Profile" file and I didn't feel like changing system files. So I came up with another solution, using a very simple Python script. You need to install Pyserial library to get it to work.

So now I have two script files: arduinoDueFlash.sh in bash, and eraseDueFlash.py in python. Here's the code:
arduinoDueFlash.sh
Code: [Select]
#!/bin/sh

python /Path/to/eraseDueFlash.py

sleep 1

/Path/to/bossac $@


eraseDueFlash.py
Code: [Select]
import serial

s = serial.Serial(port='/dev/tty.usbmodemXXX', baudrate=1200)
s.close()


It may also work a solution like Nassa's using the very argument to set the port and not to hardcode it. I'll try it eventually.

You must also check the path in the arguments you put in Eclipse:
--port=tty.usbmodem411 -U false -e -w -v -b ${workspace_loc}${project_path}/Release/${project_name}.bin -R

This works for OSX, I guess it works as well on any linux but I don't know if there's a simpler solution to open the port.

Cheers

Go Up