Skip to content

Commit

Permalink
Merge branch 'hotfix-44.4.1' into develop
Browse files Browse the repository at this point in the history
  • Loading branch information
rsta2 committed Mar 12, 2022
2 parents 3860488 + f95c0be commit bd46bf0
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 2 deletions.
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,16 @@ Change Log
This file contains the release notes (the major changes) since Circle Step30 for quick access. For earlier releases please checkout the respective git tag and look into README.md. More info is attached to the release tags (git cat-file tag StepNN) and is available in the git commit log.

Release 44.4.1
--------------

This hotfix release fixes an issue in the initialization for 32-bit multi-core support. The start of the secondary CPU cores may have failed, if the data cache has not been flushed already, when `CMultiCoreSupport::Initialize()` was called. This especially happened, if the constructor of the class `CMultiCoreSupport` was executed immediately before `CMultiCoreSupport::Initialize()`.

Release 44.4
------------

2022-03-11

This intermediate release updates the FatFs and LVGL support to the most recent versions. While the **update to FatFs R0.14b** is compatible with earlier releases, the **update to LVGL v8.2.0** requires modifications in existing applications, which use this graphics library. Also there isn't a separate submodule *lv_examples* for LVGL examples any more, the demo program is included in the main submodule.

New features are:
Expand Down
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,11 @@ Circle is a C++ bare metal programming environment for the Raspberry Pi. It shou

Circle includes bigger (optional) third-party C-libraries for specific purposes in addon/ now. This is the reason why GitHub rates the project as a C-language-project. The main Circle libraries are written in C++ using classes instead. That's why it is called a C++ programming environment.

Release 44.4.1
--------------

This hotfix release fixes an issue in the initialization for 32-bit multi-core support. The start of the secondary CPU cores may have failed, if the data cache has not been flushed already, when `CMultiCoreSupport::Initialize()` was called. This especially happened, if the constructor of the class `CMultiCoreSupport` was executed immediately before `CMultiCoreSupport::Initialize()`.

Release 44.4
------------

Expand Down
2 changes: 1 addition & 1 deletion Rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#

CIRCLEVER = 440400
CIRCLEVER = 440401

CIRCLEHOME ?= ..

Expand Down
4 changes: 3 additions & 1 deletion lib/multicore.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
// Licensed under GPL2
//
// Circle - A C++ bare metal environment for Raspberry Pi
// Copyright (C) 2015-2021 R. Stange <rsta2@o2online.de>
// Copyright (C) 2015-2022 R. Stange <rsta2@o2online.de>
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
Expand Down Expand Up @@ -63,6 +63,8 @@ boolean CMultiCoreSupport::Initialize (void)
write32 (ARM_LOCAL_MAILBOX_INT_CONTROL0, 1); // enable IPI on core 0
#endif

CleanDataCache (); // write out all data to be accessible by secondary cores

for (unsigned nCore = 1; nCore < CORES; nCore++)
{
#if AARCH == 32
Expand Down

0 comments on commit bd46bf0

Please sign in to comment.