Thalhammer / simcom_dam

Examples for simcoms downloadable modules (Qualcomm SoC)
27 stars 13 forks source link

Compiling with LLVM-based ARM compiler #5

Open jasongao opened 5 years ago

jasongao commented 5 years ago

Have you seen this page by any chance? It seems to provide instructions for using Qualcomm's Snapdragon LLVM ARM compiler toolchain to build DAM apps.

https://github.com/Azure/azure-iot-device-ecosystem/blob/master/get_started/threadx-os-mdm920x-c.md

ziron4 commented 5 years ago

Qualcomm wont provide the compiler for sine reason. I have been trying to contact them for the last four months. I won't get into detail on how i got access to the compiler but I will upload it to my website later today.

Thalhammer commented 5 years ago

Yes I saw it and in fact I have a Qualcomm account and tried to get my hands on it for some time, but as pointed out by @ziron4, Qualcomm isn't really makerfriendly. You have to have a company and need to sign an NDA, which was out of question for an public repo. I did use the official ARMCC and it worked fine. Pretty sure llvm will work just fine as well, since featurewise gcc and clang are quite on par.

I started reversing everything exactly because I could'nt get my hands on the qualcomm clang and armcc was to old.

However it would be nice to know if the problems outlined in every other issue on this repo also occur on the official clang or if there is a bug in my code/compiler config.

If you could provide the clang compiler I would be happy to add an switch for clang, the way I did with armcc and gcc. I won't host the compiler on github however, as I don't want to get my repo shut down. Integrating an install script that autodownloads it from some server and installs it should be fine I think.

Thalhammer commented 5 years ago

@ziron4 Any updates ?

jasongao commented 5 years ago

I have not received any response from Qualcomm either... have either of you tried Quectel instead? This document has some interesting notes, it looks like the MDM9206 SDK and LLVM compiler should be available from Quectel also (for their BG96):

https://os-iot.org/wp-content/uploads/2019/01/os-iot-bg96-guide.pdf

jasongao commented 5 years ago

Found some interesting links to Quectel's SDK package and code, although it doesn't seem to include an LLVM-based compiler:

Quectel_BG96_QuecOpen_SDK_Package_V2.1.0: https://www.quectel.com/Qdownload/Quectel_BG96_QuecOpen_SDK_Package_V2.1.0.zip

Quectel_LTE_OPEN_EVB_Kit_Support_Package: http://www.quectel.com/ProductDownload/Quectel_LTE_OPEN_EVB_Kit_Support_Package.zip

IoT Merchandise Cart on MDM9206: https://github.com/globaledgesoft/merchant-cart-aws-iot https://developer.qualcomm.com/project/iot-merchandise-cart-mdm9206