Commit Graph

522 Commits (master)

Author SHA1 Message Date
Hari Limaye f4e5359710 GPIO: Use uintptr_t for gpio_irq_api context
The HAL gpio_irq_api stores object IDs, which serve as a form of context
for the dispatch of the interrupt handler in the drivers level
InterruptIn Class. The way this is achieved is that the InterruptIn
Class casts its address to uint32_t, which is stored as the ID.
This results in compilation failure when the size of an object pointer
is greater than uint32_t, for example when building on a PC for unit
testing.

In order to allow Unit Testing of the InterruptIn Class, we replace the
use of uint32_t with uintptr_t (type capable of holding a pointer),
which allows portability and expresses intentions more clearly.
In aid of this latter goal, we also replace the use of the name "id"
with "context", to improve clarity - these are addresses of the context
related to that callback.
2022-01-26 18:12:52 +00:00
ATmobica 6a5cc40182 Fix mbed-cy8cproto-062s3-4343w target 2021-12-15 22:16:14 +01:00
ATmobica 9e1444f88d Add <"CM0P_SLEEP" IN_LIST MBED_TARGET_LABELS> condition to Cypress boards and common PSOC6 cmake files 2021-12-15 21:37:14 +01:00
ATmobica 78a7859fa8 Add <"WHD" IN_LIST MBED_TARGET_LABELS> condition to Cypress boards and wifi driver cmake files 2021-12-10 13:14:29 +01:00
Bill Waters a2e46525ac Fix for PWM resume issue, SWINTEGRATION-57 2021-10-21 09:22:45 -07:00
Dustin Crossman 1aa67dd235 Add bluetooth support files to Cypress BSPs. 2021-08-12 10:06:40 -07:00
Martin Kojtal 4822ac56a1 cypress: fix cy_syslib breakpoint undefined
CMSIS 5.8.0 requires for armcc to include compat header prior any other header.
See Known issues for the release.
2021-07-29 14:31:39 +01:00
Lingkai Dong 91b8186615 Cypress: Improve `mbed_post_build_psoc6_merge_hex()`
The CMake macro `mbed_post_build_psoc6_merge_hex()` takes the name of
a Cypress target and an optional Cortex-M0 hex image as arguments. The
proper way to define and parse optional arguments of a function or
macro is `cmake_parse_arguments()`, which allows the caller to
indicate what they are passing rather than rely on an argument's
relative position within `${ARGN}` which is not rigorous.

Also, avoid duplicating the common part of the post build command
when the optional argument is passed/not passed.
2021-07-22 17:31:45 +01:00
Lingkai Dong 351680fb18 Rework post-build to support multiple executables
When building greentea tests, each test is an executable with its
own output binary path. This is also the case when a user project
produces multiple executables. But the current implementation of
post-build operations always assumes there's only one executable,
at the root of the build directory.

The post-build command depends on Mbed target, and it always takes
the the executable we build as an input file. To achieve this, we
let each Mbed target (that has a post-build command) define a function

    function(mbed_post_build_function target)

which takes a CMake executable target as an argument from which it can
get its binary path using generator expressions. It generates and adds
to the passed executable target a post-build custom command.

Notes:
* The function name needs to be exact, because CMake only supports
literal function calls - CMake can't dereference a function name from
a variable. To avoid multiple definitions of this function, each Mbed
target needs to guard it with a macro to check if the user is
building this Mbed target.
* `mbed_post_build_function()` is a function, but it is usually
defined by another macro rather than a parent function, because
nesting functions would make many variables inaccessible inside the
innermost `mbed_post_build_function()`.
* There's no more need to force regenerate images. Previously, post-
build commands were custom *targets* which always got to run, so we
force regenerated images on every build to avoid patching an image
that's already been patched once on previous build. Now post-build
commands are custom *commands* of the same executable target, and they
are only run if the executable target itself is rebuilt.
2021-07-22 17:31:22 +01:00
Dustin Crossman 4bce6471c1 Delete unnecessary assembler files (CI complains about them). 2021-07-07 10:56:58 -07:00
Dustin Crossman ddb92ba877 Fixup license issues. 2021-07-06 15:40:48 -07:00
Dustin Crossman a0d058dbcf Fixup CMakeLists.txt 2021-07-06 10:09:37 -07:00
Dustin Crossman 11c598d517 Add proper PDL (still version 2.2.0.7891). 2021-07-06 10:09:03 -07:00
Dustin Crossman 444a2bdce0 Astyle run. 2021-06-23 15:40:09 -07:00
Dustin Crossman ecaadd2597 Fix file modes. 2021-06-04 13:44:44 -07:00
Dustin Crossman 82ad4351db Add back deleted defines. 2021-06-04 12:46:49 -07:00
Dustin Crossman 7d0f3c7ec1 Fixup CMakeLists after reorg. 2021-06-04 12:46:13 -07:00
Dustin Crossman c57b3536bc Add accidentally deleted files back to CYSBSYSKIT_01 2021-06-03 14:26:27 -07:00
Dustin Crossman 0d4e447cca Add workaround for changes to cyhal_lptimer_irq_trigger. 2021-06-02 17:11:11 -07:00
Dustin Crossman 0cf1589cdb Reorganize assets. 2021-06-02 17:11:02 -07:00
Dustin Crossman c47f286d1a Remove old files. 2021-06-02 17:09:53 -07:00
Dustin Crossman e97809483c Reorg and rename core-lib. 2021-06-02 17:09:52 -07:00
Dustin Crossman 98cf713e2a Reorg and rename abstraction-rtos. 2021-06-02 17:09:50 -07:00
Dustin Crossman b51527390f Rename and reorganize 2021-06-02 17:09:49 -07:00
Dustin Crossman 2e8de3cd91 Rename to better align with actual asset name. 2021-06-02 17:09:45 -07:00
Dustin Crossman ed14fe3795 Delete unused asset. 2021-06-02 17:09:18 -07:00
Dustin Crossman c40bc8b279 Update psoc6hal to 1.5.0.20805 2021-06-02 17:09:15 -07:00
Dustin Crossman 7a7f206344 Update abstraction-resource to 1.0.0.22384 2021-06-02 17:08:20 -07:00
Dustin Crossman c3714868a3 Update abstraction-rtos to 1.4.0.22384 2021-06-02 17:08:19 -07:00
Dustin Crossman 4ca2f281c0 Update core_lib to 1.2.0.22384 2021-06-02 17:08:18 -07:00
Dustin Crossman 9b946a4f0d Update psoc6cm0p to 2.1.2.789 2021-06-02 17:08:16 -07:00
Dustin Crossman 623e799d63 Update serial-flash to 1.1.0.20805 2021-06-02 17:08:15 -07:00
Dustin Crossman f489d579b0 Update psoc6pdl to 2.2.0.7891 2021-06-02 17:08:14 -07:00
Dustin Crossman 85c0e45313 Update TARGET_CYW9P62S1_43438EVB_01 to 2.1.0.21729 2021-06-02 17:07:05 -07:00
Dustin Crossman d1c8bad661 Update TARGET_CYW9P62S1_43012EVB_01 to 2.1.0.21729 2021-06-02 17:07:04 -07:00
Dustin Crossman 783071037c Update TARGET_CYSBSYSKIT_01 to 2.1.0.21729 2021-06-02 17:07:03 -07:00
Dustin Crossman 55c0dd9065 Update TARGET_CY8CPROTO_062_4343W to 2.1.0.21729 2021-06-02 17:07:02 -07:00
Dustin Crossman 1ebbd2b749 Update TARGET_CY8CPROTO_062S3_4343W to 2.1.0.21729 2021-06-02 17:07:01 -07:00
Dustin Crossman 640b5ab094 Update TARGET_CY8CKIT_062_WIFI_BT to 2.1.0.21729 2021-06-02 17:07:00 -07:00
Dustin Crossman 65c1635909 Update TARGET_CY8CKIT_062_BLE to 2.1.0.21729 2021-06-02 17:06:59 -07:00
Dustin Crossman 5d832dd5e9 Update TARGET_CY8CKIT_062S2_43012 to 2.1.0.21729 2021-06-02 17:06:57 -07:00
pennam 1c83a1aa8b CMake remove subdirectory common/COMPONENT_WHD from TARGET_Cypress 2021-05-06 15:39:57 +02:00
pennam 665c83b3eb Moved targets/TARGET_Cypress/TARGET_PSOC6/common/COMPONENT_WHD in connectivity/drivers/wifi/COMPONENT_WHD/network 2021-05-06 15:39:42 +02:00
pennam f26771f0c7 CMake remove COMPONENT_WHD from TARGET_Cypress 2021-05-06 15:39:42 +02:00
pennam a29ca0724c COMPONENT_WHD moved into connectivity/drivers/wifi 2021-05-06 15:39:19 +02:00
Martin Kojtal 1fd4cfd798
Merge pull request #14516 from 0xc0170/fix-cmake-project-name
CMake: remove MBED_PATH and use <PROJECT-NAME>_SOURCE_DIR/MODULE_PATH instead
2021-04-15 14:00:21 +02:00
Martin Kojtal 121c8286da CMake: set CMAKE_MODULE_PATH in the Mbed OS CMakelists.txt
Update CMAKE_MODULE_PATH at once place.

Note, we update also CMAKE_MODULE_PATH in app.cmake. This is temporary until we get a proper way to include
Mbed Os (removing app.cmake need to be included by an application).
2021-04-14 13:09:28 +01:00
Martin Kojtal b6a90c4ae1 CMake: fix for CMAKE_CURRENT_LIST_DIR in functions
CMAKE_CURRENT_LIST_DIR behaves differently in functions. We store it in the CMakeLists itself, so anyone
calling a function would get the actual list dir where the scripts are.

To illustrate: if I call a function from src/CMakelists.txt, function located in src/scripts, `CMAKE_CURRENT_LIST_DIR` in the function would point
to the src/ folder but not to src/scripts.
2021-04-14 13:09:27 +01:00
Martin Kojtal dfc4010e24 CMake targets: remove MBED_PATH, use stadard variables
- list files included via module path
- <project-name>_SOURCE_DIR for sources that are out of the current processed CMake
- CMAKE_CURRENT_LIST_DIR for listfiles
2021-04-14 13:09:26 +01:00
Chandran Praveen Babu (CYSC CSS ICW SW PSW) af44532ca4 Fix Unbuffered serial enable/disable issue on Cypress kits 2021-04-13 15:33:25 -07:00