Skip to content

Release candidate for mbed-os-5.7.2 #5767

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 55 commits into from
Jan 3, 2018
Merged

Release candidate for mbed-os-5.7.2 #5767

merged 55 commits into from
Jan 3, 2018

Conversation

adbridge
Copy link
Contributor

No description provided.

@adbridge
Copy link
Contributor Author

/morph build

@adbridge
Copy link
Contributor Author

/morph mbed2-release

@mbed-bot
Copy link

Result: FAILURE

Your command has finished executing! Here's what you wrote!

/morph mbed2-release

@studavekar
Copy link
Contributor

@studavekar mbed2-release failing with:

One of the node was down, I started the service it should be fine now.

/morph mbed2-release

@mbed-ci
Copy link

mbed-ci commented Dec 29, 2017

Build : SUCCESS

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

Triggering tests

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

@mbed-bot
Copy link

Result: FAILURE

Your command has finished executing! Here's what you wrote!

/morph mbed2-release

Output

mbed Build Number: 72

Build failed!

@adbridge
Copy link
Contributor Author

adbridge commented Dec 29, 2017

@bulislaw
Looks like #5342 broke mbed 2
It went into 5.7.1 but as we have been having problems with mbed2 releases we didn't run the mbed2 build against 5.7.1 !

10:55:27         [Fatal Error] irq_ctrl_gic.c@27,19: cmsis.h: No such file or directory
10:55:27         [DEBUG] Return: 1
10:55:27         [DEBUG] Output: /home/jenkins/mbed_jenkins_node2/workspace/bm_wrap/1667/mbed-os/cmsis/TARGET_CORTEX_A/irq_ctrl_gic.c:27:19: fatal error: cmsis.h: No such file or directory
10:55:27         [DEBUG] Output:  #include <cmsis.h>
10:55:27         [DEBUG] Output:                    ^
10:55:27         [DEBUG] Output: compilation terminated.
10:55:27         /home/jenkins/mbed_jenkins_node2/workspace/bm_wrap/1667/mbed-os/cmsis/TARGET_CORTEX_A/irq_ctrl_gic.c:27:19: fatal error: cmsis.h: No such file or directory
10:55:27          #include <cmsis.h>
10:55:27                            ^

This is a blocker for 5.7.2 please investigate asap!

@mbed-ci
Copy link

mbed-ci commented Dec 29, 2017

@mbed-ci
Copy link

mbed-ci commented Dec 29, 2017

@cmonr
Copy link
Contributor

cmonr commented Dec 29, 2017

@adbridge A quick fix would be to outright disable the export of the target in targets.json by blanking out the release_versions array for both A9 targets.

As for the actual issue, it looks like the file is relying on device-specific information, which seems backwards to what files in the cmsis directory should be doing.

@0xc0170
Copy link
Contributor

0xc0170 commented Dec 29, 2017

As for the actual issue, it looks like the file is relying on device-specific information, which seems backwards to what files in the cmsis directory should be doing.

This change comes from:
https://github.com/ARM-software/CMSIS_5/blob/5231d567ea7446e022504d8b438ce3428912419c/CMSIS/Core_A/Source/irq_ctrl_gic.c

At the moment we do not have RTE component, neither CMSIS_device_header set up, thus cmsis.h used there instead. The file is actually there: https://github.com/ARMmbed/mbed-os/blob/master/targets/TARGET_RENESAS/TARGET_RZ_A1H/device/cmsis.h.

I am more wondering why <cmsis.h> is used and not "cmsis.h" in this case. That might fix this issue

Update: build tools have cmsis path, no target path involved, this is why it fails

@0xc0170
Copy link
Contributor

0xc0170 commented Jan 2, 2018

#5770 should fix the issue

kjbracey and others added 17 commits January 2, 2018 15:22
Pending official update from STM, add memory barriers to the Ethernet
HAL code for the STM32F7xx family.

Cortex-M7 has a merging write buffer that is not automatically flushed
by accesses to devices, so without these DMBs, we sometimes lose synch
with the transmitter.

The DMBs are architecturally needed in every version of this HAL, but
adding just to the STM32F7 version for now to clear test, as the
problem has only been observed on Cortex-M7-based devices.

Fixes #5622.
The K64F Ethernet driver installs an interrupt handler that sets thread
flags, and this could be called before the thread was initialised, so it
would use a NULL thread ID.

This triggers an RTX error-checking trap in debug builds, and could also
lead to other problems with received packets not being processed.

Adjusted so the RX interrupt handler does nothing if the thread isn't
initialised yet, and manually trigger a RX event flag after initialising
the thread in case any interrupts were ignored.

An alternative would have been to implement eth_arch_enable_interrupts,
but this mechanism is not present in the EMAC world - drivers will have
to start returning interrupts in their power up.

Fixes #5680
When specifying a full channel mask in .lib and setting the channel
to zero, device does proper channel scan.

For Thread, channel must be specified for router.
Sleepy devices don't respect the channel settings but do a full channel
scan at the start.

+ Modified the channel mask print to use hex.
 - ADuCM3029 is the MCU name for EV_COG_AD3029LZ
 - ADuCM4050 is the MCU name for EV_COG_AD4050LZ
For supporting tp CMSIS5/RTX5, I changed the start-up processing of 3 toolchains(ARMCC, GCC_ARM, IAR) and updated the register definition of PEACH specific.
In addition,
I changed the linker script files to implement the dynamic HEAP the same as Cortex-M targets.Since GR-PEACH's HEAP was a fixed area, I changed the label name(ZI_DATA to RW_IRAM1) and replaced the allocation of STACK/HEAP.
By updating to the codes of CMSIS5/RTX5, GIC_SetConfigration() function was added for Cortex-A, this function is set the interrupt configuration using GIC's ICFGR register. Therefore, I added this function to satisfy Cortex-A interrupt spec in the below files.
"can_api.c", "ethernet_api.c", "gpio_irq_api.c", "i2c_api.c", "spi_api.c" and "us_ticker.c"
I added the below definitions for working "Dynamic Stack" and "Dynamic heap" on Mbed OS by referencing with the codes of Cortex-M target board.
"ISR_STACK_START", "ISR_STACK_SIZE", "INITIAL_SP", "HEAP_START" and "HEAP_SIZE"
I changed disable_irq() / enable_irq() to core_util_critical_section_enter() / core_util_critical_section_exit() by utilizing "mbed_critical" function in the below drivers.
- serial_api.c
- us_ticker.c
Although the extened RTC is supported by #5363 commit ("Add support and tests for extended RTC"), it seems that the changes was overlooked in RZ_A1H_api.c.
So I added the changes with reference to other rtc_api.c.
I changed the python and json files to re-registering GR-PEACH to Mbed OS 5.
I added the definition of "Cortex-A9" for core support of ARMCC and ARMC6 in arm.py.
I modified "space" character from 2-byte code to 1-byte code in "heap and stack" test main.
"malloc" test is used a simple thread that executes only malloc and free, but it seems that there is a difference in the stack used between Cortex-A and Cortex-M.
As a result of check, in Cortex-A, program aborts because of the lack of stack  when THREAD_STACK_SIZE is 256, workes properly when THREAD_STACK_SIZE is 512 at least. Since it seems that the definition processing of "DEFAULT_STACK_SIZE" was gone from Mbed OS by updating CMSIS5/RTX5, I setted 512 directly for Cortex-A.
bcostm and others added 11 commits January 2, 2018 15:22
Impossible to make USBHost working on this board.
Remove it for now until a fix is found.
Most of our IP stacks don't allow removal of interfaces so
interface destructor can not reliably clean up. Therefore we
cannot rely its behaviours in test case.

Instead run interface->disconnect() in case interface was already
created.
As this is os tick implementation for rtos, it should not be compilied if rtos
not present (mbed 2)
Travis: dsp only for cortex-m
Build api used to build cmsis separately (how mbed 2 is being build). This is
currently not how cmsis is being defined. As there target dependencies in some
cases, we should include paths from targets when building cmsis
As it does not share the codebase with RZ A1H, it needs to be disabled until
bring it up to date with the latest changes to cmsis. There are changes
regarding caches, mmu and others
@adbridge
Copy link
Contributor Author

adbridge commented Jan 2, 2018

/morph mbed2-release

@adbridge
Copy link
Contributor Author

adbridge commented Jan 2, 2018

/morph build

@mbed-bot
Copy link

mbed-bot commented Jan 2, 2018

Result: FAILURE

Your command has finished executing! Here's what you wrote!

/morph mbed2-release

Output

mbed Build Number: 73

Build failed!

@mbed-ci
Copy link

mbed-ci commented Jan 2, 2018

Build : FAILURE

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

@adbridge
Copy link
Contributor Author

adbridge commented Jan 2, 2018

The commit reverted above , causes conflicts with changes made which are currently targeted for 5.8, (#5363 ), reverting this one commit allows us to bring in #5628

@adbridge
Copy link
Contributor Author

adbridge commented Jan 2, 2018

/morph mbed2-release

@adbridge
Copy link
Contributor Author

adbridge commented Jan 2, 2018

/morph build

@mbed-bot
Copy link

mbed-bot commented Jan 2, 2018

Result: SUCCESS

Your command has finished executing! Here's what you wrote!

/morph mbed2-release

@mbed-ci
Copy link

mbed-ci commented Jan 2, 2018

Build : SUCCESS

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

Triggering tests

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

@mbed-ci
Copy link

mbed-ci commented Jan 2, 2018

@mbed-ci
Copy link

mbed-ci commented Jan 2, 2018

@0xc0170
Copy link
Contributor

0xc0170 commented Jan 2, 2018

/morph export-build

@mbed-ci
Copy link

mbed-ci commented Jan 2, 2018

Build : SUCCESS

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

Triggering tests

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

@mbed-ci
Copy link

mbed-ci commented Jan 2, 2018

@studavekar
Copy link
Contributor

Exporter Build : ABORTED

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

This was aborted by mistake, though there was a duplicate job. I have added it back in queue.

@mbed-ci
Copy link

mbed-ci commented Jan 2, 2018

Exporter Build : SUCCESS

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

@0xc0170 0xc0170 merged commit eca67ca into mbed-os-5.7 Jan 3, 2018
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.