Skip to content

Conversation

@howard0su
Copy link

@howard0su howard0su commented Mar 16, 2019

  1. Merge the makefile script with the one for Keil. USE_GCC controls which compiler to be used. by default, KEIL C is used.
    make USE_GCC=1 will choose gcc as the compiler suite. or export USE_GCC=1 works as well.
  2. Integrate qfplib math library for gcc to replace built-in match lib, which is too large to fit in 16kb.
  3. Disable Gesture for now in order to fit into 16KB. there are still some optimization need be done so that gesture support can be reenable again.

@howard0su
Copy link
Author

based on #12 as fabs function call have to be replaced with fabsf to fit into 16KB.

@howard0su
Copy link
Author

I don't have a workable drone for me to test. If anyone can test and let me know if this works, I will be happy to know.

GCC-8 for ARM can be downloaded:
https://developer.arm.com/-/media/Files/downloads/gnu-rm/8-2018q4/gcc-arm-none-eabi-8-2018-q4-major-linux.tar.bz2

@NotFastEnuf
Copy link
Owner

NotFastEnuf commented Mar 18, 2019

I am curious why we have to fit inside the 16kb limit. Don't we have space up to 32kb? I know the spec says 16 but I thought we have always been able to flash up to 32. It would certainly solve a lot of problems if this is the case.

@howard0su
Copy link
Author

howard0su commented Mar 18, 2019 via email

@vidzo
Copy link

vidzo commented Mar 18, 2019

The chips we use are 32kb. Specified at 16kb but Silverxxx found that on the whole they're all at the higher whole capacity. I can't find the exact post

@NotFastEnuf
Copy link
Owner

That's what I thought too. I'm successfully flashing past the 16kb spec anyway. I know this just created additional work for you squeezing it down just to add stuff back but should be worth it for the end result.

@howard0su
Copy link
Author

We can give user such an option to compile as 32KB. But it is at own risk type of thing. chip manufacturer doesn't grantee it will always work beyond the spec. This is exactly like over-clocking CPU. As far as for my own usage, I have devoTx. so I can map more options to channels. so lack fo gesture is not a really big problem for myself. But I can enable it for sure.

For qfplib, I'd like to keep it as it is more compact and fast from its own website. As it is widely used, I believe it is reliable. GCC version of silverware is not wide adopted anyway.

@ghostface
Copy link

Apart from the fitting into 16kb discussion, fixing the fabs call to fabsf makes sense if we are only working with floats no?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants