Skip to content

Address issue 71 and enable CoreMark to be compiled by Keil C51 - #78

Merged
joseph-yiu merged 8 commits into
eembc:dev_2026q3from
joseph-yiu:fix/issue71_mcs51
Aug 14, 2026
Merged

Address issue 71 and enable CoreMark to be compiled by Keil C51#78
joseph-yiu merged 8 commits into
eembc:dev_2026q3from
joseph-yiu:fix/issue71_mcs51

Conversation

@joseph-yiu

Copy link
Copy Markdown
Contributor

This PR addressed the pointer size comparison issue highlighted in #71
It also contains other code changes to enable CoreMark to be compiled by Keil C51 toolchain.
In Keil C51, "size", "data" and "pdata" are reserved keywords. But they are used in CoreMark as variable / parameter names. Therefore the CoreMark code cannot be compiled with Keil C51 previously.

Additionally, to provide better support MCS51 architecture, a memory attribute macro STATIC_MEMBLK_ATTR is introduced so that the static memory block can be declare as external data (xdata). This change addressed the same need as #58

The default data type mapping in core_portme.h also updated to utilize int32_t and uint32_t in stdint.h. Previously, ee_s32 was mapped to signed int, and ee_u32 was mapped to unsigned int. This is a problem for 8-bit and 16-bit architectures as int can be 16-bit.

The details of the code changes are documented in README.md

@joseph-yiu
joseph-yiu merged commit e3cdbf7 into eembc:dev_2026q3 Aug 14, 2026
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.

1 participant