Skip to content

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

Merged
merged 3 commits into from
Dec 12, 2017
Merged

ADI: Add ARMC6 compatible code #5627

merged 3 commits into from
Dec 12, 2017

Conversation

li-ho
Copy link

@li-ho li-ho commented Nov 30, 2017

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

@theotherjimmy
Copy link
Contributor

theotherjimmy commented Nov 30, 2017

Please change the base branch the old PR instead of opening a new one

@li-ho
Copy link
Author

li-ho commented Nov 30, 2017

The old pr is #5541. It's closed and cannot be reopened.

@theotherjimmy
Copy link
Contributor

Well, I suppose we'll have to live with this PR then.

@li-ho
Copy link
Author

li-ho commented Dec 1, 2017

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.
@0xc0170
Copy link
Contributor

0xc0170 commented Dec 1, 2017

The error in continuous-integration/jenkins/pr-head cannot be seen, therefore, I have no idea about what to fix.

Restarted, there was a plugin exception this time.

@0xc0170
Copy link
Contributor

0xc0170 commented Dec 1, 2017

/morph build

@mbed-ci
Copy link

mbed-ci commented Dec 1, 2017

Build : FAILURE

Build number : 640
Build artifacts/logs : http://mbed-os.s3-website-eu-west-1.amazonaws.com/?prefix=builds/5627/

@li-ho
Copy link
Author

li-ho commented Dec 4, 2017

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?

@0xc0170
Copy link
Contributor

0xc0170 commented Dec 4, 2017

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

@li-ho
Copy link
Author

li-ho commented Dec 4, 2017

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 li-ho changed the title ADI: backward compatible code for iar, gcc, arm ADI: Add ARMC6 code and maintain backward compatibility Dec 5, 2017
@li-ho li-ho changed the title ADI: Add ARMC6 code and maintain backward compatibility ADI: Add ARMC6 compatible code Dec 5, 2017
@0xc0170
Copy link
Contributor

0xc0170 commented Dec 5, 2017

@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()
@li-ho
Copy link
Author

li-ho commented Dec 7, 2017

There are 6 successful checks and 4 unfinished ones. It's ready. Please review.

@0xc0170
Copy link
Contributor

0xc0170 commented Dec 7, 2017

/morph build

@mbed-ci
Copy link

mbed-ci commented Dec 7, 2017

Build : SUCCESS

Build number : 661
Build artifacts/logs : http://mbed-os.s3-website-eu-west-1.amazonaws.com/?prefix=builds/5627/

Triggering tests

/morph test
/morph uvisor-test
/morph export-build

@mbed-ci
Copy link

mbed-ci commented Dec 7, 2017

@mbed-ci
Copy link

mbed-ci commented Dec 7, 2017

@0xc0170 0xc0170 merged commit 2eaa32f into ARMmbed:master Dec 12, 2017
@li-ho li-ho deleted the ev_cog_armc6 branch December 13, 2017 00:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants