Skip to content

rtl8195am - fix gpio toggle slow #6289

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

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
65f2102
Adding Laird BL652 as new target
Feb 22, 2018
1b27317
Update mbed-coap to version 4.3.0
Feb 22, 2018
9d30469
mbed-os_ci-test-fixed_rtl8195am
M-ichae-l Feb 27, 2018
ce6bd9d
Allow build profiles to omit language entries
Mar 2, 2018
06f5fbc
Fix linefeed issues in crash dump output
SenRamakri Mar 5, 2018
72f45b8
Add mode and privilege info to crash dump
SenRamakri Mar 5, 2018
9e35f82
NVStore: Enclose header file with DOXYGEN_ONLY option as well.
Mar 6, 2018
008e937
Incorporating review comments
Mar 6, 2018
2c7a25a
Small typo fixes in readme.md files
jdewinkel Mar 6, 2018
3ca084e
fixes a typo in README.md
jiangkun1994 Mar 6, 2018
5be35c9
fixes some typos in README.md
jiangkun1994 Mar 6, 2018
af7c1c9
fixes a typo in README.md
jiangkun1994 Mar 6, 2018
0ca364c
rtl8195am - fix gpio toggle slow
M-ichae-l Mar 7, 2018
87b37c0
Merge pull request #6286 from delftswa2018/feature-typo-fixes
0xc0170 Mar 8, 2018
0c08261
Merge pull request #6280 from davidsaada/david_nvstore_doxygen_only
0xc0170 Mar 8, 2018
d9a1302
Merge pull request #6271 from lfdebrux/profile-merging
0xc0170 Mar 8, 2018
4e7ad0d
Merge pull request #6226 from M-ichae-l/mbed-os_ci-test-fixed_rtl8195am
0xc0170 Mar 8, 2018
d2f00a0
Merge pull request #6171 from anttiylitokola/master
0xc0170 Mar 8, 2018
cf4c7a5
Merge pull request #6164 from ashok-rao/br-BL652
0xc0170 Mar 8, 2018
f67fe4a
Merge pull request #6257 from SenRamakri/sen_FaultHandlerFixes
theotherjimmy Mar 8, 2018
727a616
rtl8195am - fix gpio toggle slow
M-ichae-l Mar 7, 2018
b735274
Merge branch 'rtl8195am-fix-gpio-toggle-slow' of https://github.com/M…
M-ichae-l Mar 9, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion events/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ queue.dispatch();

// Events can also pass arguments to the underlying callback when both
// initially constructed and posted.
Event<void(int, int)> event(&queue, printf, "recieved %d and %d\n");
Event<void(int, int)> event(&queue, printf, "received %d and %d\n");

// Events can be posted multiple times and enqueue gracefully until
// the dispatch function is called.
Expand Down
4 changes: 2 additions & 2 deletions features/FEATURE_BLE/targets/TARGET_CORDIO/README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# BLE API Cordio Implementation

The BLE API Cordio implementation allows Cordio licensee to easily deliver a
complete and up to date implementation of mbed BLE to their custommers using
complete and up to date implementation of mbed BLE to their customers using
mbed OS.

To deliver a BLE port, vendors simply have to provide an HCI driver taillored
To deliver a BLE port, vendors simply have to provide an HCI driver tailored
for the BLE module present on the board they want to support.

## Source Organization
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ The files are kept the same as much as possible to the Nordic SDK. Modifications


## Porting new versions of Nordic SDK
A list of files currently requierd by mbed is maintained in [script/required_files.txt](https://github.com/ARMmbed/nrf51-sdk/blob/master/script/required_files.txt). [A python script](https://github.com/ARMmbed/nrf51-sdk/blob/master/script/pick_nrf51_files.py) is written to help porting from nordic sdk releases. **required_files.txt** is parsed to find a list of filenames. The script searches for these filenames in the sdk folder, and copy then into the yotta module mirroring the folder structure in the sdk. **extraIncludes** is automatically added to module.json to allow direct inclusion of noridc headers with just the filename.
A list of files currently required by mbed is maintained in [script/required_files.txt](https://github.com/ARMmbed/nrf51-sdk/blob/master/script/required_files.txt). [A python script](https://github.com/ARMmbed/nrf51-sdk/blob/master/script/pick_nrf51_files.py) is written to help porting from nordic sdk releases. **required_files.txt** is parsed to find a list of filenames. The script searches for these filenames in the sdk folder, and copy then into the yotta module mirroring the folder structure in the sdk. **extraIncludes** is automatically added to module.json to allow direct inclusion of noridc headers with just the filename.

### Script usage
```
Expand Down
6 changes: 6 additions & 0 deletions features/FEATURE_COMMON_PAL/mbed-coap/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Change Log

## [v4.3.0](https://github.com/ARMmbed/mbed-coap/releases/tag/v4.3.0)
**New feature:**
- Add new API which clears the whole sent blockwise message list

-[Full Changelog](https://github.com/ARMmbed/mbed-coap/compare/v4.2.0...v4.3.0)

## [v4.2.0](https://github.com/ARMmbed/mbed-coap/releases/tag/v4.2.0)
**New feature:**
- Add new API to remove sent blockwise message from the linked list
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -247,6 +247,15 @@ extern int8_t sn_coap_convert_block_size(uint16_t block_size);
*/
extern int8_t sn_coap_protocol_handle_block2_response_internally(struct coap_s *handle, uint8_t handle_response);

/**
* \fn void sn_coap_protocol_clear_sent_blockwise_messages(struct coap_s *handle)
*
* \brief This function clears all the sent blockwise messages from the linked list.
*
* \param *handle Pointer to CoAP library handle
*/
extern void sn_coap_protocol_clear_sent_blockwise_messages(struct coap_s *handle);

#endif /* SN_COAP_PROTOCOL_H_ */

#ifdef __cplusplus
Expand Down
2 changes: 1 addition & 1 deletion features/FEATURE_COMMON_PAL/mbed-coap/module.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "mbed-coap",
"version": "4.2.0",
"version": "4.3.0",
"description": "COAP library",
"keywords": [
"coap",
Expand Down
21 changes: 21 additions & 0 deletions features/FEATURE_COMMON_PAL/mbed-coap/source/sn_coap_protocol.c
Original file line number Diff line number Diff line change
Expand Up @@ -256,6 +256,27 @@ int8_t sn_coap_protocol_set_block_size(struct coap_s *handle, uint16_t block_siz

}

void sn_coap_protocol_clear_sent_blockwise_messages(struct coap_s *handle)
{
(void) handle;
#if SN_COAP_MAX_BLOCKWISE_PAYLOAD_SIZE
if (handle == NULL) {
return;
}

/* Loop all stored Blockwise messages in Linked list */
ns_list_foreach_safe(coap_blockwise_msg_s, removed_blocwise_msg_ptr, &handle->linked_list_blockwise_sent_msgs) {
if (removed_blocwise_msg_ptr->coap_msg_ptr) {
handle->sn_coap_protocol_free(removed_blocwise_msg_ptr->coap_msg_ptr->payload_ptr);
removed_blocwise_msg_ptr->coap_msg_ptr->payload_ptr = 0;
sn_coap_parser_release_allocated_coap_msg_mem(handle, removed_blocwise_msg_ptr->coap_msg_ptr);
removed_blocwise_msg_ptr->coap_msg_ptr = 0;
}
sn_coap_protocol_linked_list_blockwise_msg_remove(handle, removed_blocwise_msg_ptr);
}
#endif
}

int8_t sn_coap_protocol_set_duplicate_buffer_size(struct coap_s *handle, uint8_t message_count)
{
(void) handle;
Expand Down
2 changes: 1 addition & 1 deletion features/mbedtls/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ This edition of mbed TLS has been adapted for mbed OS and imported from its stan
Getting Help and Support
------------------------

The [mbed TLS website](https://tls.mbed.org/) contains fulll documentation for the library, including function by function descriptions, knowledgebase articles, blogs and a support forum for questions to the community.
The [mbed TLS website](https://tls.mbed.org/) contains full documentation for the library, including function by function descriptions, knowledgebase articles, blogs and a support forum for questions to the community.


Contributing to the Project
Expand Down
2 changes: 1 addition & 1 deletion features/nvstore/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ Each item is kept in an entry containing a header and data, where the header hol
### Enabling NVStore and configuring it for your board
NVStore is enabled by default for all devices with the internal flash driver (have "FLASH" in the device_has attribute).
One can disable it by setting its "enabled" attribute to false.
Unless specifically configured by the user, NVStore selects the last two flash sectors as its areas, with the mininum size of 4KBs,
Unless specifically configured by the user, NVStore selects the last two flash sectors as its areas, with the minimum size of 4KBs,
meaning that if the sectors are smaller, few continuous ones will be used for each area.
The user can override this by setting the addresses and sizes of both areas in` mbed_lib.json` on a per board basis.
In this case, all following four attributes need to be set:
Expand Down
6 changes: 2 additions & 4 deletions features/nvstore/source/nvstore.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
#define NVSTORE_ENABLED 0
#endif

#if NVSTORE_ENABLED
#if (NVSTORE_ENABLED) || defined(DOXYGEN_ONLY)
#include <stdint.h>
#include <stdio.h>
#include "platform/NonCopyable.h"
Expand Down Expand Up @@ -286,8 +286,6 @@ class NVStore : private mbed::NonCopyable<NVStore> {
/**
* @brief Calculate addresses and sizes of areas (in case no user configuration is given),
* or validate user configuration (if given).
*
* @param[in] area Area.
*/
void calc_validate_area_params();

Expand All @@ -310,7 +308,7 @@ class NVStore : private mbed::NonCopyable<NVStore> {
* @param[in] buf Output Buffer.
* @param[out] actual_size Actual data size (bytes).
* @param[in] validate_only Just validate (without reading to buffer).
* @param[out] validate Is the record valid.
* @param[out] valid Is the record valid.
* @param[out] key Record key.
* @param[out] flags Record flags.
* @param[out] next_offset Offset of next record.
Expand Down
9 changes: 7 additions & 2 deletions rtos/TARGET_CORTEX/TARGET_CORTEX_M/TOOLCHAIN_ARM/except.S
Original file line number Diff line number Diff line change
Expand Up @@ -144,13 +144,18 @@ Fault_Handler_Continue2
MRS R2,MSP ; Get MSP
STR R2,[R1]
ADDS R1,#4
LDR R3,=mbed_fault_handler ; Load address of mbedFaultHandler
MOV R2,LR ; Get current LR(EXC_RETURN)
STR R2,[R1]
ADDS R1,#4
MRS R2,CONTROL ; Get CONTROL Reg
STR R2,[R1]
LDR R3,=mbed_fault_handler ; Load address of mbedFaultHandler
MOV R0,R12
LDR R1,=mbed_fault_context
LDR R2,=osRtxInfo
BLX R3
#endif
B . ; Just in case we come back here
B . ; Just in case we come back here
ENDP

#endif
Expand Down
7 changes: 6 additions & 1 deletion rtos/TARGET_CORTEX/TARGET_CORTEX_M/TOOLCHAIN_GCC/except.S
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,12 @@ Fault_Handler_Continue2:
MRS R2,MSP // Get MSP
STR R2,[R1]
ADDS R1,#4
LDR R3,=mbed_fault_handler // Load address of mbedFaultHandler
MOV R2,LR // Get current LR(EXC_RETURN)
STR R2,[R1]
ADDS R1,#4
MRS R2,CONTROL // Get CONTROL Reg
STR R2,[R1]
LDR R3,=mbed_fault_handler // Load address of mbedFaultHandler
MOV R0,R12
LDR R1,=mbed_fault_context
LDR R2,=osRtxInfo
Expand Down
11 changes: 8 additions & 3 deletions rtos/TARGET_CORTEX/TARGET_CORTEX_M/TOOLCHAIN_IAR/except.S
Original file line number Diff line number Diff line change
Expand Up @@ -139,13 +139,18 @@ Fault_Handler_Continue2
MRS R2,MSP ; Get MSP
STR R2,[R1]
ADDS R1,#4
LDR R3,=mbed_fault_handler ; Load address of mbedFaultHandler
MOV R2,LR ; Get current LR(EXC_RETURN)
STR R2,[R1]
ADDS R1,#4
MRS R2,CONTROL ; Get CONTROL Reg
STR R2,[R1]
LDR R3,=mbed_fault_handler ; Load address of mbedFaultHandler
MOV R0,R12
LDR R1,=mbed_fault_context
LDR R2,=osRtxInfo
BLX R3
#endif
B . ; Just in case we come back here
#endif ; #if (MBED_FAULT_HANDLER_SUPPORT == 1)
B . ; Just in case we come back here
#endif ; #if (MBED_FAULT_HANDLER_SUPPORT == 1)

END
38 changes: 27 additions & 11 deletions rtos/TARGET_CORTEX/TARGET_CORTEX_M/mbed_rtx_fault_handler.c
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,27 @@ void print_context_info()
fault_print_str("\nBFAR : %",(uint32_t *)&SCB->BFAR);
}
#endif

//Print Mode
if(mbed_fault_context.EXC_RETURN & 0x8) {
fault_print_str("\nMode : Thread", NULL);
//Print Priv level in Thread mode - We capture CONTROL reg which reflects the privilege.
//Note that the CONTROL register captured still reflects the privilege status of the
//thread mode eventhough we are in Handler mode by the time we capture it.
if(mbed_fault_context.CONTROL & 0x1) {
fault_print_str("\nPriv : User", NULL);
} else {
fault_print_str("\nPriv : Privileged", NULL);
}
} else {
fault_print_str("\nMode : Handler", NULL);
fault_print_str("\nPriv : Privileged", NULL);
}
//Print Return Stack
if(mbed_fault_context.EXC_RETURN & 0x4) {
fault_print_str("\nStack: PSP", NULL);
} else {
fault_print_str("\nStack: MSP", NULL);
}
}

/* Prints thread info from a list */
Expand Down Expand Up @@ -194,17 +214,13 @@ void fault_print_str(char *fmtstr, uint32_t *values)
char hex_str[9]={0};

while(fmtstr[i] != '\0') {
if(fmtstr[i] == '\n' || fmtstr[i] == '\r') {
serial_putc(&stdio_uart, '\r');
} else {
if(fmtstr[i]=='%') {
hex_to_str(values[vidx++],hex_str);
for(idx=7; idx>=0; idx--) {
serial_putc(&stdio_uart, hex_str[idx]);
}
} else {
serial_putc(&stdio_uart, fmtstr[i]);
if(fmtstr[i]=='%') {
hex_to_str(values[vidx++],hex_str);
for(idx=7; idx>=0; idx--) {
serial_putc(&stdio_uart, hex_str[idx]);
}
} else {
serial_putc(&stdio_uart, fmtstr[i]);
}
i++;
}
Expand Down
2 changes: 2 additions & 0 deletions rtos/TARGET_CORTEX/TARGET_CORTEX_M/mbed_rtx_fault_handler.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@ typedef struct {
uint32_t xPSR;
uint32_t PSP;
uint32_t MSP;
uint32_t EXC_RETURN;
uint32_t CONTROL;
} mbed_fault_context_t;

//Fault type definitions
Expand Down
Loading