-
Notifications
You must be signed in to change notification settings - Fork 56
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Am I building it correctly for my 9xr-pro? #28
Comments
make REVB=1 REVX=1 |
Thanks for the info Mike! W.r.t. to case mismatch between #include and real file names, I found these:
Where the file itself is called s6rimg.lbm
This aliases to mavlink.h in the parent folder, but I think the whole #include should be commented out. |
Hi, I am also finding problems with compiling the master branch under Linux for 9XR-Pro Commenting the whole #include line does not solve the problem. Thanks in advance for your help |
This Mavlink.cpp should be including "mavlink.h" from the "src" directory, although the #include in the .cpp file may have an uppercase 'M' that is causing you a problem on Linux. |
With this change I find a different beast: /usr/lib/gcc/arm-none-eabi/4.8/../../../arm-none-eabi/bin/ld: section .eh_frame loaded at [0000000000442340,0000000000442377] overlaps section .data loaded at [0000000000442340,0000000000442527] Puzzling, I was compiling without a problem last time I tried, maybe a month ago, same machine, same compiler. |
I can compile the branch "next" after adding the file s6rimg.lbm (from the master branch) and changing Mavlink to mavlink in the code and also the file name from mavlink/Mavlink.cpp to mavlink/mavlink.cpp. I also get several compiler warnings in relation with strict aliasing. Still no luck with the master branch. EDITED to add: I see only now that you are making new commits on the master branch. I thought without any base that this one was stable and the new commits where going to the next branch. Should have checked first, my fault. |
Does the latest commit from the master branch now compile OK then? |
No, current version of master does not compile under Linux with this rather standard toolchain: mentero@momo ~/Desktop/mbtx-er9X/mbtx-master/radio/ersky9x/src $ gcc -v But my previously downloaded version on April 25 does compile with no issues. |
I don't get a section.eh_frame when I compile. It seems to be something to do with exception handling, which is not used. As a suggestion, try modifying "sam3s8c_flash.ld", and add the eh_frame line to the DISCARD statement: I'm using compiler version 4.7.2. I did just try 4.8.3, and then downloaded the latest (6.something) and tried that. None of them produced an eh_frame. All under windows, and I only use this compiler for compiling for the ARM processor. |
Yes, that did the trick!. arm-none-eabi-objcopy -O ihex ersky9xr_rom.elf ersky9xr_rom.hex Thank you. |
I've been struggling quite a bit to get the firmware to build for my 9XR-PRO.
I checked out the ersky9xr_r220 tag so I was working with a release that is known to work.
The most difficulty was in finding out how to invoke make.
Eventually the following did the trick (I think), but I don't know if this is correct:
$ make REVB=1 REVX=1
This does produce a rom.bin file and I've been brave enough to install it on my radio and it actually seems to work.
As compiler I've been using arm-none-eabi-gcc version 6.3.1 20170215 [ARM/embedded-6-branch revision 245512] that I installed on macOS via
brew cask install gcc-arm-embedded
The code has some case mismatches in filenames when #including files. So building on a case sensitive file systems like e.g. Ubuntu running in Windows Subsystem for Linux was problematic and needed fixes, but I eventually also got it building there.
Anyway, can you confirm that this is the correct way to build the firmware for my 9xr-pro?
The text was updated successfully, but these errors were encountered: