Compare commits

...

2 Commits

8 changed files with 29 additions and 9 deletions

View File

@ -809,7 +809,7 @@ add_definitions(-DOS_CPUTIME_FREQ)
add_definitions(-DNRF52 -DNRF52832 -DNRF52832_XXAA -DNRF52_PAN_74 -DNRF52_PAN_64 -DNRF52_PAN_12 -DNRF52_PAN_58 -DNRF52_PAN_54 -DNRF52_PAN_31 -DNRF52_PAN_51 -DNRF52_PAN_36 -DNRF52_PAN_15 -DNRF52_PAN_20 -DNRF52_PAN_55 -DBOARD_PCA10040)
add_definitions(-DFREERTOS)
add_definitions(-D__STACK_SIZE=1024)
add_definitions(-D__HEAP_SIZE=4096)
add_definitions(-D__HEAP_SIZE=3072)
# NOTE : Add the following defines to enable debug mode of the NRF SDK:
#add_definitions(-DDEBUG)

View File

@ -62,7 +62,7 @@
#define configTICK_RATE_HZ 1024
#define configMAX_PRIORITIES (3)
#define configMINIMAL_STACK_SIZE (120)
#define configTOTAL_HEAP_SIZE (1024 * 17)
#define configTOTAL_HEAP_SIZE (1024 * 14)
#define configMAX_TASK_NAME_LEN (4)
#define configUSE_16_BIT_TICKS 0
#define configIDLE_SHOULD_YIELD 1
@ -95,7 +95,7 @@
#define configUSE_TIMERS 1
#define configTIMER_TASK_PRIORITY (0)
#define configTIMER_QUEUE_LENGTH 32
#define configTIMER_TASK_STACK_DEPTH (300)
#define configTIMER_TASK_STACK_DEPTH (250)
/* Tickless Idle configuration. */
#define configEXPECTED_IDLE_TIME_BEFORE_SLEEP 2

View File

@ -124,7 +124,7 @@ void DisplayApp::Start(System::BootErrors error) {
LoadApp(Apps::Clock, DisplayApp::FullRefreshDirections::None);
}
if (pdPASS != xTaskCreate(DisplayApp::Process, "displayapp", 800, this, 0, &taskHandle)) {
if (pdPASS != xTaskCreate(DisplayApp::Process, "displayapp", 600, this, 0, &taskHandle)) {
APP_ERROR_HANDLER(NRF_ERROR_NO_MEM);
}
}

View File

@ -74,7 +74,7 @@ typedef int16_t lv_coord_t;
#define LV_MEM_CUSTOM 0
#if LV_MEM_CUSTOM == 0
/* Size of the memory used by `lv_mem_alloc` in bytes (>= 2kB)*/
#define LV_MEM_SIZE (14U * 1024U)
#define LV_MEM_SIZE (8U * 1024U)
/* Complier prefix for a big array declaration */
#define LV_MEM_ATTR

View File

@ -37,7 +37,7 @@ nimble_port_freertos_init(TaskFunction_t host_task_fn)
* provided by NimBLE and in case of FreeRTOS it does not need to be wrapped
* since it has compatible prototype.
*/
xTaskCreate(nimble_port_ll_task_func, "ll", configMINIMAL_STACK_SIZE + 200,
xTaskCreate(nimble_port_ll_task_func, "ll", configMINIMAL_STACK_SIZE + 20,
NULL, configMAX_PRIORITIES - 1, &ll_task_h);
#endif
@ -46,6 +46,6 @@ nimble_port_freertos_init(TaskFunction_t host_task_fn)
* have separate task for NimBLE host, but since something needs to handle
* default queue it is just easier to make separate task which does this.
*/
xTaskCreate(host_task_fn, "ble", configMINIMAL_STACK_SIZE + 600,
xTaskCreate(host_task_fn, "ble", configMINIMAL_STACK_SIZE + 210,
NULL, tskIDLE_PRIORITY + 1, &host_task_h);
}

View File

@ -2,6 +2,8 @@
#include <FreeRTOS.h>
#include <task.h>
#include <nrf_log.h>
#include <lvgl/lvgl.h>
#include <malloc.h>
namespace Pinetime {
namespace System {
@ -32,6 +34,24 @@ namespace Pinetime {
tasksStatus[i].pcTaskName,
tasksStatus[i].usStackHighWaterMark * 4);
}
lv_mem_monitor_t mon;
lv_mem_monitor(&mon);
NRF_LOG_INFO("#LVGL Memory#\n"
" used# %d (%d%%) / free %d\n"
" max used# %lu\n"
" frag# %d%%\n"
" free# %d",
static_cast<int>(mon.total_size - mon.free_size),
mon.used_pct,
mon.free_size,
mon.max_used,
mon.frag_pct,
static_cast<int>(mon.free_biggest_size));
auto m = mallinfo();
NRF_LOG_INFO("heap : %d", m.uordblks);
lastTick = xTaskGetTickCount();
}
}

View File

@ -115,7 +115,7 @@ SystemTask::SystemTask(Drivers::SpiMaster& spi,
void SystemTask::Start() {
systemTasksMsgQueue = xQueueCreate(10, 1);
if (pdPASS != xTaskCreate(SystemTask::Process, "MAIN", 350, this, 0, &taskHandle)) {
if (pdPASS != xTaskCreate(SystemTask::Process, "MAIN", 300, this, 0, &taskHandle)) {
APP_ERROR_HANDLER(NRF_ERROR_NO_MEM);
}
}

View File

@ -147,7 +147,7 @@ namespace Pinetime {
bool stepCounterMustBeReset = false;
static constexpr TickType_t batteryMeasurementPeriod = pdMS_TO_TICKS(10 * 60 * 1000);
#if configUSE_TRACE_FACILITY == 1
#if configUSE_TRACE_FACILITY == 1 && NRF_LOG_ENABLED == 1
SystemMonitor<FreeRtosMonitor> monitor;
#else
SystemMonitor<DummyMonitor> monitor;