Menu

Source Commit Log


Commit Date  
[r220] by m0slevin

- More work on MSP430.
- Fixed a bug causing half the thread stack to be left uninitialized.
- Added preliminary code to support tickless timers.
- Fixed critical-section logic

However, there are still some major problems on the port...
- There appears to be memory corruptions or compiler bugs impacting the timer code.

2015-06-06 18:36:40 Tree
[r219] by m0slevin

Fixing IdleFunc for MSP430 port.

2015-06-02 01:03:48 Tree
[r218] by m0slevin

Fix MSP430 tick-based timers. Basic sanity achieved on MSP430f2274, with caveats.
-- RH/TI GCC port works, but community mspgcc doesn't. Need to investigate.
-- Tickless timers need porting.

2015-06-01 03:16:18 Tree
[r217] by m0slevin

Fixing context switch code for MSP430.

2015-06-01 02:51:06 Tree
[r216] by m0slevin

- Changes to get the MSP430 build working on GCC under linux.

2015-05-31 16:35:50 Tree
[r215] by m0slevin

Adding initial MSP430 port code

2015-05-31 11:45:46 Tree
[r214] by m0slevin

-- Missed some new controls. Adding those here.

2015-05-28 01:47:06 Tree
[r213] by m0slevin

-Forgot to add refactored/moved unit_test support

2015-05-28 01:42:47 Tree
[r212] by m0slevin

Major changes on the R1 codeline that have been pending for a long time.

- Added a bunch of "how-to" examples based on flAVR
- Fixed up the GUI library and built-in control code, added a GUI example (using flAVR, again)
- Ported idle-function support to all current AVR targets
- Got rid of some old examples that were more confusing than helpful
- Moved profiling and sanity tests into the unit-test directory, and refactored to support the unit-test APIs
- unit-test APIs now moved out of the "middleware libraries" section, and now get built into the UT platform directly
- Added thread-state tracking to Thread object. APIs allow a user to see if threads are ready, blocked, stopped, or exit'd.
- Fixed a bunch of instrumentation code that breaks now that g_pstNext is volatile
- Changed stacks in UT code to K_WORD from K_UCHAR (portability issues)
- Fixed logic in semaphore/mutex/event-flag objects to determine when a Yield() is required.
- Previous implementation did not handle priority inheritence properly
- Fixed bug preventing round-robin scheduling from being applied to static threads (those created before the kernel starts)
- Fixed a bug in Thread::Exit() that could hang the kernel in a variety of circumstances
- Fixed a similar bug in Thread::Stop()
- Change to remove pending timer callbacks from threads when Thread::Stop() is called, which could cause trouble.
- Fixed a bug in Timers where erratic behavior could be observed due to the m_ulTimerTolerance flag not being initialized
- Fixed a bug in Round-Robin scheduling where unblocking multiple threads in a given priority level can result in the wrong thread being scheduled.
- New approach ensures that threads get added to the *tail* of the threadlist, not the *head*

Summary:
- Dynamic threading is much more reliable (Stop & Exit behavior)
- Round-robin scheduling is much more reliable
- Timers are more reliable
- Priority inheritence works correctly
- Idle function works on all supported AVRs.

2015-05-28 01:32:22 Tree
[r211] by m0slevin

Adding some stubs for example code I plan to write soon

2015-05-09 18:07:35 Tree
Older >
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.