NEWS - Noteworthy changes * Major changes in Chopstx 0.08 Released 2015-07-31 ** New board support: ST Nucleo F103 It is contributed by Kenji Rikitake. ** New board support: ST Dongle It is contributed by Kenji Rikitake. It's the ST-Link/V2-1 part of ST Nucleo F103. * Major changes in Chopstx 0.07 Released 2015-07-15 ** New Board macro definitions Each board-*.h should have BOARD_ID and BOARD_NAME now. FLASH_PAGE_SIZE and NEUG_ADC_SETTING2_* are deprecated. ** New sys.c (2.1) Flash memory size is probed at runtime now. System service flash pages now include sys_board_id and sys_board_name. * Major changes in Chopstx 0.06 Released 2015-07-08 ** New file: clk_gpio_init.c To avoid duplication of code, clock and GPIO initialization code is now in this file. ** New board support: STM32 Primer2 It is contributed by Kaz Kojima. ** New board support: CQ STARM The old board which was "published" by CQ Publishing in 2008 is added. * Major changes in Chopstx 0.05 Released 2015-04-20, by NIIBE Yutaka ** New function: chopstx_main_init chopstx_main_init is the function to change the schedule priority of main thread. This is useful to enter main loop after initialization of other threads. ** The use of CHX_PRIO_MAIN CHX_PRIO_MAIN is deprecated. Instead, please use the function chopstx_main_init. ** Cortex-M0 support Cortex-M0 support has been added. ** New board support: Maple mini It is contributed by Aidan Thornton. ** New board support: FSM-55 and STM32F0 Discovery Those boards with STM32F0 (Cortex-M0) are now supported. * Major changes in Chopstx 0.04 Released 2014-12-10, by NIIBE Yutaka ** new board.h macros and sys.c in example In board.h, RCC_APB2ENR_IOP_EN was renamed to RCC_ENR_IOP_EN and RCC_APB2RSTR_IOP_RST was renamed to RCC_RSTR_IOP_RST. Example sys.c was changed accordingly. ** Bug fix of chopstx_wakeup_usec_wait chopstx_usec_wait_var/chopstx_usec_wait won't be woken up by chopstx_wakeup_usec_wait. This is now fixed in 0.04. ** Board support STBee and STBee Mini The board STBee and STBee Mini are now supported. * Major changes in Chopstx 0.03 Released 2013-11-08, by NIIBE Yutaka ** Bug fix of preemption In the implementation of preemption, there was a bug which might cause not to schedule proper thread. This is because the routine preepmt itself might be interrupted. This is now fixed in 0.03. * Major changes in Chopstx 0.02 Released 2013-11-08, by NIIBE Yutaka ** Bug fix of priority There was a severe bug about the configuraion of priority setting of exceptions. As we don't use any inter-lock between interrupts hander and timer expiration handler, these priorities should be equal. If not, timer expiration handler might interrupt the execution of interrupts handers. * Major changes in Chopstx 0.01 Released 2013-11-03, by NIIBE Yutaka ** Interrupt handling change There was a bug in 0.00, which caused spurious interrupts. Every interrupt event caused two events. Specifically, after valid interrupt event (for the caller of chopstx_intr_wait), another spurious event was always occurred. This was fixed. In the design of Chopstx, interrupt handling is done by a thread. Lower level interrupt handler just accepts interrupt, disabling the interrupt, and switchs the control to the thread. It is the thread to check the cause of interrupt, to process it, and to clear the cause. Next call to chopstx_intr_wait will enable the interrupt again. The bug was related to pending interrupt flag. Pending interrupt flag for a specific interrupt is set, on return from handler mode if the cause is still active. With traditional interrupt handling, lower level interrupt handler processes it and clears the cause. Thus, pending interrupt flag is not set on return. In Chopstx, pending interrupt flag was always set, because the control goes from lower level interrupt handler (in handler mode) to a interrupt handling thread which processes the interrupt. In 0.01, new internal routine chx_clr_intr is introduced, and pending interrupt flag is cleared within chopstx_intr_wait after waked up. For detail of interrupt operation, see the section B.3.4, Nested Vectored Interrupt Controller (NVIC), in the ARM v7-M Architecture Reference Manual. The subsection, B3.4.1, Theory of operation, explains how it works. ** gpio_init change Now, gpi_init support AFIO mapping and another GPIO (GPIO_OTHER) settings. Local Variables: mode: outline End: