-
Notifications
You must be signed in to change notification settings - Fork 3k
ADI: Add ARMC6 compatible code #5627
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
Conversation
Please change the base branch the old PR instead of opening a new one |
The old pr is #5541. It's closed and cannot be reopened. |
Well, I suppose we'll have to live with this PR then. |
The error in continuous-integration/jenkins/pr-head cannot be seen, therefore, I have no idea about what to fix. |
- Maintain compatible code for ARM 5 and ARM 6 while default alignment settings differ. - Instance memory containing memory pointers must be 4 byte aligned for all compilers regardless compilers' settings. - uint32_t is recommended to replace uint8_t for instance memory declaration because uint32_t guarantee 4 byte alignment.
Restarted, there was a plugin exception this time. |
/morph build |
Build : FAILUREBuild number : 640 |
I notice that gpio_api.c, gpio_dev_mem.c, gpio_irq_api.c, i2c_api.c, rtc_api.c and spi_api.c use uint8_t to declare instance memory. These instance memory should be re-declared by using uint32_t. Should this be a separate PR or do-it-now? |
Depends on what is the scope of this PR. I would say to add ARMC6 compatible code. So this bugfix can be a separate patch |
The scope of this PR is to compile and run GreenTea testing for 7 mentioned tool chains and any single EV_COG_ADx0xxLZ board. SPI, I2C, GPIO api code can be compiled, but cannot be verified without an extra add-on board. |
@li-ho Let us know once this pull request is ready for review (all work complete) |
Ensure all instance memory blocks meet 4 byte alignment requirement without relying on compiler's or liker's optional settings: - gpioMemory[] for adi_gpio_Init() - aRtcDevMem0[] for adi_rtc_Open() - i2c_Mem[] or I2C_Mem[] for adi_i2c_Open() - spi_Mem0[], spi_Mem1[], spi_Mem2[] or SPI_Mem[] for adi_spi_Open()
There are 6 successful checks and 4 unfinished ones. It's ready. Please review. |
/morph build |
Build : SUCCESSBuild number : 661 Triggering tests/morph test |
Exporter Build : SUCCESSBuild number : 304 |
Test : SUCCESSBuild number : 487 |
Description
Apply changes to be compatible for IAR 7 and 8, GCC 4, 5 and 6, ARM 5 and 6 tool chain.
Enable EV_COG_AD4050LZ FPU option.
GreenTea Full pass for EV_COG_AD3029LZ and EV_COG_AD4050LZ single boards.
Status
READY
Migrations
NO
Related PRs
feature-armc6 | #5560
master | #5541
master | #5144
master | #5137