Go Down

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

dabbede

Hi Nassa!

Bossac doesn't work?! It happened to me, too. Are you using a USB 3 port? This could be the problem.
To fix it, just program the Arduino by using a USB 2 port or, if you don't have it, through a USB 2.0 Hub!
Cheers

joppuh123

I tried to follow to tutorial. But I cant build the static library I think some includes are wrong but I cant find out wich.

I got the following error log (not the complete log just this is just a small part) when trying to build. I'm on osx maybe that got something to do with it

Code: [Select]

'__disable_irq' was not declared in this scope interrupt_sam_nvic.h /ArduinoDueCore/src/lib/libsam/include line 123
'__DMB' was not declared in this scope interrupt_sam_nvic.h /ArduinoDueCore/src/lib/libsam/include line 123
'__enable_irq' was not declared in this scope interrupt_sam_nvic.h /ArduinoDueCore/src/lib/libsam/include line 135
'_dwIrq' was not declared in this scope USARTClass.cpp /ArduinoDueCore/src/core line 60
'_pUsart' was not declared in this scope USARTClass.cpp /ArduinoDueCore/src/core line 43
'Adc' was not declared in this scope adc.h /ArduinoDueCore/src/lib/libsam/include line 175
'Dacc' was not declared in this scope dacc.h /ArduinoDueCore/src/lib/libsam/include line 67
'IRQn_Type' does not name a type USARTClass.h /ArduinoDueCore/src/core line 35
'NVIC_DisableIRQ' was not declared in this scope USARTClass.cpp /ArduinoDueCore/src/core line 72
'NVIC_EnableIRQ' was not declared in this scope USARTClass.cpp /ArduinoDueCore/src/core line 60
'p_adc' was not declared in this scope adc.h /ArduinoDueCore/src/lib/libsam/include line 173
'p_dacc' was not declared in this scope dacc.h /ArduinoDueCore/src/lib/libsam/include line 66
'p_tc' was not declared in this scope tc.h /ArduinoDueCore/src/lib/libsam/include line 73
'p_tc' was not declared in this scope tc.h /ArduinoDueCore/src/lib/libsam/include line 71
'Pdc' does not name a type dacc.h /ArduinoDueCore/src/lib/libsam/include line 70
'Pio' does not name a type pio.h /ArduinoDueCore/src/lib/libsam/include line 124
'pPio' was not declared in this scope pio.h /ArduinoDueCore/src/lib/libsam/include line 109
'pPwm' was not declared in this scope pwmc.h /ArduinoDueCore/src/lib/libsam/include line 76

Nassarane

Hi Joppuh,

I do not think your problem is not OSX.
In my opinion, there are two possibilities :

Either you forgot one of the 3 defines :
__SAM3X8E__
USB_PID=0x003E
USBCON

Either you forgot an include path or one or more files are missing.

Warning, and include Defines Path must be set in the configuration C and C+ + (Tool Settings) :
ARM Sourcery Windows GCC C Compiler
and
ARM Sourcery Windows GCC C + + Compiler

Let me known please.

Nassa.

joppuh123

These are my defined symbols in C and C++ compiler
_SAM3X8E_
USB_PID=0x003E
USBCON

These are my included paths

"${workspace_loc:/${ProjName}/src/core}"
"${workspace_loc:/${ProjName}/src/lib/CMSIS/Device/ATMEL}"
"${workspace_loc:/${ProjName}/src/lib/CMSIS/CMSIS/Include}"
"${workspace_loc:/${ProjName}/src/lib/libsam/include}"
"${workspace_loc:/${ProjName}/src/lib/libsam}"
"${workspace_loc:/${ProjName}/src/lib/CMSIS/Device/ATMEL/sam3xa/include}"
"${workspace_loc:/${ProjName}/src/lib/variants/arduino_due_x}"


Nassarane

The processor Define is :
__SAM3X8E__
and not
_SAM3X8E_
There is 2 underscore before and 2 underscore after.

Could you verify ?

And let me know please.

Nassa.

joppuh123

#20
Jan 08, 2013, 09:27 pm Last Edit: Jan 08, 2013, 09:48 pm by joppuh123 Reason: 1
Still got 135 errors but all in USBcore.cpp

But Im able to build I got a libArduinoDueCore.a in my Release folder.

But I think the linker script isnt working for de MyProject
If I build your example I only get a main.o and a syscalls_sam3.o in my release folder..

EDIT
All the errors about USBcore.ccp are could not be resolved errors like:
Code: [Select]
Field 'UOTGHS_DEVCTRL' could not be resolved

Nassarane

Clean your ArduinoDueCore project :
- clean ArduinoDueCore project
- in the "Problems" tab right click on the root errors node, when the popup is open, click on "Delete" item. You can do the same for warnings.
- bluid ArduinoDueCore.

Build MyProject.


Nassa.

joppuh123

#22
Jan 08, 2013, 09:55 pm Last Edit: Jan 08, 2013, 10:08 pm by joppuh123 Reason: 1
No more errors or warnings!

But nothing in the release folder of myprojects..

I'll try to make a new project

EDIT
Got a .map file in my release folder but not a hex..

zad80

Hi Nassa ,
I played a bit with arduino uno elipse integration and looking at your guide I don't see the define which says which board is beeng compiled.
In case of Aduino due it is -DARDUINO=151.
Zad

zad80

Hi Nassa,
if I well understood ,to use the PROGRAMMING port with bossac you shall use one of the two procedures reported in the AduinoDue main page. that are :
1) pressing the erase button on the arduino while running bossac
2) Open the serial port without bossac, which activates the Erase and Reset sequence , and then launch the bossac .

Unfortunately I can only use the bossac via command line while pressing the erase button, if I do that using the eclipse external tool it doesn't works.
I'll do a script which opens the port ,closes it and then run the bossac.

By the way, to understand how the bossac is actually run by the arduino IDE , I substituted the original bossac with a simple shell script and run the upload procedure on the IDE.
Here the code :

Code: [Select]

echo $@ >/Applications/Arduino-due.app/Contents/Resources/Java/hardware/tools/bossac.arg
/Applications/Arduino-due.app/Contents/Resources/Java/hardware/tools/bossac.orig $@


Zad

joppuh123

#25
Jan 09, 2013, 06:43 pm Last Edit: Jan 09, 2013, 06:50 pm by joppuh123 Reason: 1
I've got these error's now in myProject
These error's keep coming back I defined -L but it seems i't cant find the library or something if I build like 3 times in a row it completes but only shows the .o files
Code: [Select]

undefined reference to `digitalWrite' main.cpp /MyProject/src C/C++ Problem
undefined reference to `USBDevice' main.cpp /MyProject/src C/C++ Problem
undefined reference to `USBDevice_::attach()' main.cpp /MyProject/src C/C++ Problem
undefined reference to `pinMode' main.cpp /MyProject/src C/C++ Problem
undefined reference to `delay' main.cpp /MyProject/src C/C++ Problem
undefined reference to `init' main.cpp /MyProject/src C/C++ Problem


EDIT:

Fixed it now I got a elf file!

zad80

I resolved the problem with bossac in Eclipse , for some reasons ,in my case , if as first parameter in the arguments list is placed --port=tty.usbmodemfd121 the command ends with :
Code: [Select]
No device found on tty.usbmodemfd121 also when I press the erase button.
if --port is used as seconds parameter, using the erase button, eclipse and bossac run like a charm.

Code: [Select]

Erase flash
Write 9556 bytes to flash

[                              ] 0% (0/38 pages)
[=======                       ] 26% (10/38 pages)
[===============               ] 52% (20/38 pages)
[=======================       ] 78% (30/38 pages)
[==============================] 100% (38/38 pages)
Verify 9556 bytes of flash

[                              ] 0% (0/38 pages)
[=======                       ] 26% (10/38 pages)
[===============               ] 52% (20/38 pages)
[=======================       ] 78% (30/38 pages)
[==============================] 100% (38/38 pages)
Verify successful
Set boot flash true
CPU reset.


I tried to open the programming port and then to launch bossac , but I have still the uploading problem.
For the moment it works fine with the erase button.

@joppuh123:
It seems your core library doesn't contain wiring_digital.c , do you have it in yours library files? it is contained inside variants/arduino_due_x

Cheers
zad

joppuh123

I do got a wiring_digital.c I have it in /src/core not in variants...

I got an elf file I was able to upload the elf file but the led doesn't blink...

Is it because I dont got the -DARDUINO=151 define.

Also the library does build but is was browsing the source file and an error poped up.

Code: [Select]
Field 'PIO_OSR' could not be resolved wiring_digital.c /ArduinoDueCore/src/core line 62 Semantic Error


Getting an stm32 working in eclipse is easier than this!

zad80

HI All,
finally I did it !
I'm able to build the blinky led program and upload it using the external tool all done in eclipse.
The last tiny problem is the bossac manually operation...
I've followed a different path from the one proposed by Nassa, obviously is due to him if I'm at this stage.
I will soon post how I did it .
Cheers
   Zad

joppuh123

Congrats I'm excited to hear how you did it!

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy