Skip to content

Commit

Permalink
Update formatting changes using <br> tags (#76)
Browse files Browse the repository at this point in the history
* Update formatting changes using <br> tags

* Update Ch07.md

* Update booktitle.md

* Update booktitle.md

* Update booktitle.md

* Update copyright.md

* Update copyright.md

* Update dedication.md

* Update dedication.md

---------

Co-authored-by: Nishant <[email protected]>
  • Loading branch information
kar-rahul-aws and sirnish authored Jan 29, 2024
1 parent 510d704 commit 27fc033
Show file tree
Hide file tree
Showing 10 changed files with 168 additions and 55 deletions.
41 changes: 39 additions & 2 deletions booktitle.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
<div align="center">

</br>
</br>

<img src="./media/freeRTOS.png" alt="" height="180" width="250"/>


Expand All @@ -15,10 +18,41 @@
</br>
</br>
</br>
</br>

</div>


</br>
</br>
</br>
</br>
</br>
</br>
</br>
</br>
</br>
</br>
</br>
</br>
</br>
</br>
</br>
</br>
</br>
</br>
</br>
</br>
</br>
</br>
</br>
</br>
</br>
</br>
</br>
</br>
</br>
</br>
</br>
</br>
</br>
</br>
Expand All @@ -31,6 +65,9 @@
</br>



<div align = "left">

[^1]: FreeRTOS™, FreeRTOS.org™ and the FreeRTOS logo are trademarks of Amazon Web Services.
[^2]: OPEN**RTOS**<sup>®</sup> and SAFE**RTOS**<sup>®</sup> are trademarks of WITTENSTEIN High Integrity Systems Ltd. All other brands or product names are the property of their respective holders.

</div>
18 changes: 9 additions & 9 deletions ch04.md
Original file line number Diff line number Diff line change
Expand Up @@ -255,7 +255,7 @@ BaseType_t xTaskCreate( TaskFunction_t pvTaskCode,
information on heap memory management.
<a name="example4.1" title="Creating tasks"></a>
<a name="example4.1" title="Example 4.1 Creating tasks"></a>
---
***Example 4.1*** *Creating tasks*
Expand Down Expand Up @@ -479,7 +479,7 @@ void vTask1( void * pvParameters )
***Listing 4.7*** *Creating a task from within another task after the scheduler has started*
<a name="example4.2" title="Using the task parameter"></a>
<a name="example4.2" title="Example 4.2 Using the task parameter"></a>
---
***Example 4.2*** *Using the task parameter*
Expand Down Expand Up @@ -739,7 +739,7 @@ internally.
describes configuration constants which affect when the scheduler will
select a new task to run and when a tick interrupt will execute.

<a name="example4.3" title="Experimenting with priorities"></a>
<a name="example4.3" title="Example 4.3 Experimenting with priorities"></a>
---
***Example 4.3*** *Experimenting with priorities*

Expand Down Expand Up @@ -918,7 +918,7 @@ Figure 4.7 expands on the simplified state diagram to include all of the
***Figure 4.7*** *Full task state machine*
***

<a name="example4.4" title="Using the Blocked state to create a delay"></a>
<a name="example4.4" title="Example 4.4 Using the Blocked state to create a delay"></a>
---
***Example 4.4*** *Using the *Blocked* state to create a delay</i></h3>

Expand Down Expand Up @@ -1157,7 +1157,7 @@ void vTaskDelayUntil( TickType_t * pxPreviousWakeTime,
be used to convert a time specified in milliseconds into a time
specified in ticks.
<a name="example4.5" title="Converting the example tasks to use vTaskDelayUntil()"></a>
<a name="example4.5" title="Example 4.5 Converting the example tasks to use vTaskDelayUntil()"></a>
---
***Example 4.5*** *Converting the example tasks to use vTaskDelayUntil()*
Expand Down Expand Up @@ -1216,7 +1216,7 @@ void vTaskFunction( void * pvParameters )
The output produced by Example 4.5 is exactly as per that shown for Example 4.4
in Figure 4.8.

<a name="example4.6" title="Combining blocking and non-blocking tasks"></a>
<a name="example4.6" title="Example 4.6 Combining blocking and non-blocking tasks"></a>
---
***Example 4.6*** *Combining blocking and non-blocking tasks*

Expand Down Expand Up @@ -1445,7 +1445,7 @@ void vApplicationIdleHook( void );
***Listing 4.18*** *The idle task hook function name and prototype*
<a name="example4.7" title="Defining an idle task hook function"></a>
<a name="example4.7" title="Example 4.7 Defining an idle task hook function"></a>
---
***Example 4.7*** *Defining an idle task hook function</i></h3>
Expand Down Expand Up @@ -1627,7 +1627,7 @@ UBaseType_t uxTaskPriorityGet( TaskHandle_t xTask );
The priority currently assigned to the task being queried.


<a name="example4.8" title="Changing task priorities"></a>
<a name="example4.8" title="Example 4.8 Changing task priorities"></a>
---
***Example 4.8*** *Changing task priorities*

Expand Down Expand Up @@ -1887,7 +1887,7 @@ void vTaskDelete( TaskHandle_t xTaskToDelete );
handle.
<a name="example4.9" title="Deleting tasks"></a>
<a name="example4.9" title="Example 4.9 Deleting tasks"></a>
---
***Example 4.9*** *Deleting tasks*
Expand Down
6 changes: 3 additions & 3 deletions ch05.md
Original file line number Diff line number Diff line change
Expand Up @@ -408,7 +408,7 @@ UBaseType_t uxQueueMessagesWaiting( QueueHandle_t xQueue );
then the queue is empty.
<a name="example5.1" title="Blocking when receiving from a queue"></a>
<a name="example5.1" title="Example 5.1 Blocking when receiving from a queue"></a>
---
***Example 5.1*** *Blocking when receiving from a queue*
Expand Down Expand Up @@ -663,7 +663,7 @@ Chapter (RB-TBD) shows how to extend this design pattern such that
the controller task can reply directly to the task that queued a structure.


<a name="example5.2" title="Blocking when sending to a queue, and sending structures on a queue"></a>
<a name="example5.2" title="Example 5.2 Blocking when sending to a queue, and sending structures on a queue"></a>
---
***Example 5.2*** *Blocking when sending to a queue, and sending structures on a queue*

Expand Down Expand Up @@ -1486,7 +1486,7 @@ QueueSetMemberHandle_t xQueueSelectFromSet( QueueSetHandle_t xQueueSet,
in the set, but the block time expired before that happened.
<a name="example5.3" title="Using a Queue Set"></a>
<a name="example5.3" title="Example 5.3 Using a Queue Set"></a>
---
***Example 5.3*** *Using a Queue Set</i></h3>
Expand Down
6 changes: 3 additions & 3 deletions ch06.md
Original file line number Diff line number Diff line change
Expand Up @@ -578,7 +578,7 @@ BaseType_t xTimerStart( TimerHandle_t xTimer, TickType_t xTicksToWait );
specified block time expired before that happened.


<a name="example6.1" title="Creating one-shot and auto-reload timers"></a>
<a name="example6.1" title="Example 6.1 Creating one-shot and auto-reload timers"></a>
---
***Example 6.1*** *Creating one-shot and auto-reload timers*

Expand Down Expand Up @@ -782,7 +782,7 @@ void *pvTimerGetTimerID( const TimerHandle_t xTimer );
The ID of the software timer being queried.
<a name="example6.2" title="Using the callback function parameter and the software timer ID"></a>
<a name="example6.2" title="Example 6.2 Using the callback function parameter and the software timer ID"></a>
---
***Example 6.2*** *Using the callback function parameter and the software timer ID*
Expand Down Expand Up @@ -1173,7 +1173,7 @@ BaseType_t xTimerReset( TimerHandle_t xTimer, TickType_t xTicksToWait );
expired before that happened.


<a name="example6.3" title="Resetting a software timer"></a>
<a name="example6.3" title="Example 6.3 Resetting a software timer"></a>
---
***Example 6.3*** *Resetting a software timer*

Expand Down
10 changes: 5 additions & 5 deletions ch07.md
Original file line number Diff line number Diff line change
Expand Up @@ -616,7 +616,7 @@ BaseType_t xSemaphoreGiveFromISR( SemaphoreHandle_t xSemaphore,
`xSemaphoreGiveFromISR()` will return `pdFAIL`.
<a name="example7.1" title="Using a binary semaphore to synchronize a task with an interrupt"></a>
<a name="example7.1" title="Example 7.1 Using a binary semaphore to synchronize a task with an interrupt"></a>
---
***Example 7.1*** *Using a binary semaphore to synchronize a task with an interrupt*
Expand Down Expand Up @@ -1075,15 +1075,15 @@ SemaphoreHandle_t xSemaphoreCreateCounting( UBaseType_t uxMaxCount,
If NULL is returned, the semaphore cannot be created because
there is insufficient heap memory available for FreeRTOS to allocate the
semaphore data structures. Chapter 2 provides more information on heap
semaphore data structures. Chapter 3 provides more information on heap
memory management.
If a non-NULL value is returned, it indicates that the semaphore has been
created successfully. The returned value should be stored as the handle
to the created semaphore.
<a name="example7.2" title="Using a counting semaphore to synchronize a task with an interrupt"></a>
<a name="example7.2" title="Example 7.2 Using a counting semaphore to synchronize a task with an interrupt"></a>
---
***Example 7.2*** *Using a counting semaphore to synchronize a task with an interrupt*
Expand Down Expand Up @@ -1310,7 +1310,7 @@ void vPendableFunction( void *pvParameter1, uint32_t ulParameter2 );
command queue.
<a name="example7.3" title="Centralized deferred interrupt processing"></a>
<a name="example7.3" title="Example 7.3 Centralized deferred interrupt processing"></a>
---
***Example 7.3*** *Centralized deferred interrupt processing*
Expand Down Expand Up @@ -1583,7 +1583,7 @@ that are suitable for production code, include:
than the raw data) to a task. This was previously demonstrated by
Figure 5.4.

<a name="example7.4" title="Sending and receiving on a queue from within an interrupt"></a>
<a name="example7.4" title="Example 7.4 Sending and receiving on a queue from within an interrupt"></a>
---
***Example 7.4*** *Sending and receiving on a queue from within an interrupt*

Expand Down
4 changes: 2 additions & 2 deletions ch08.md
Original file line number Diff line number Diff line change
Expand Up @@ -513,7 +513,7 @@ SemaphoreHandle_t xSemaphoreCreateMutex( void );
created mutex.


<a name="example8.1" title="Rewriting vPrintString() to use a semaphore"></a>
<a name="example8.1" title="Example 8.1 Rewriting vPrintString() to use a semaphore"></a>
---
***Example 8.1*** *Rewriting vPrintString() to use a semaphore*

Expand Down Expand Up @@ -1139,7 +1139,7 @@ static void prvStdioGatekeeperTask( void *pvParameters )
***Listing 8.18*** *The gatekeeper task*


<a name="example8.2" title="The alternative implementation for print task"></a>
<a name="example8.2" title="Example 8.2 The alternative implementation for print task"></a>
---
***Example 8.2*** *The alternative implementation for print task*

Expand Down
4 changes: 2 additions & 2 deletions ch09.md
Original file line number Diff line number Diff line change
Expand Up @@ -520,7 +520,7 @@ StaticEventGroup_t ** ppxEventGroupBuffer );
- `pdFALSE` will be returned if the buffer was not successfully retrieved.
<a name="example9.1" title="Experimenting with event groups"></a>
<a name="example9.1" title="Example 9.1 Experimenting with event groups"></a>
---
***Example 9.1*** *Experimenting with event groups*
Expand Down Expand Up @@ -1034,7 +1034,7 @@ EventBits_t xEventGroupSync( EventGroupHandle_t xEventGroup,
condition.


<a name="example9.2" title="Synchronizing tasks"></a>
<a name="example9.2" title="Example 9.2 Synchronizing tasks"></a>
---
***Example 9.2*** *Synchronizing tasks*

Expand Down
44 changes: 22 additions & 22 deletions ch10.md
Original file line number Diff line number Diff line change
Expand Up @@ -181,26 +181,26 @@ macros will be called functions throughout this book.

#### 10.3.1.1 The complete list of API functions <sup>27</sup>

`xTaskNotifyGive`
`xTaskNotifyGiveIndexed`
`vTaskNotifyGiveFromISR`
`vTaskNotifyGiveIndexedFromISR`
`vTaskNotifyTake`
`vTaskNotifyTakeIndexed`
`xTaskNotify`
`xTaskNotifyIndexed`
`xTaskNotifyWait`
`xTaskNotifyWaitIndexed`
`xTaskNotifyStateClear`
`xTaskNotifyStateClearIndexed`
`ulTaskNotifyValueClear`
`ulTaskNotifyValueClearIndexed`
`xTaskNotifyAndQueryIndexedFromISR`
`xTaskNotifyAndQueryFromISR`
`xTaskNotifyFromISR`
`xTaskNotifyIndexedFromISR`
`xTaskNotifyAndQuery`
`xTaskNotifyAndQueryIndexed`
- `xTaskNotifyGive`
- `xTaskNotifyGiveIndexed`
- `vTaskNotifyGiveFromISR`
- `vTaskNotifyGiveIndexedFromISR`
- `vTaskNotifyTake`
- `vTaskNotifyTakeIndexed`
- `xTaskNotify`
- `xTaskNotifyIndexed`
- `xTaskNotifyWait`
- `xTaskNotifyWaitIndexed`
- `xTaskNotifyStateClear`
- `xTaskNotifyStateClearIndexed`
- `ulTaskNotifyValueClear`
- `ulTaskNotifyValueClearIndexed`
- `xTaskNotifyAndQueryIndexedFromISR`
- `xTaskNotifyAndQueryFromISR`
- `xTaskNotifyFromISR`
- `xTaskNotifyIndexedFromISR`
- `xTaskNotifyAndQuery`
- `xTaskNotifyAndQueryIndexed`

*(27): These functions are actually implemented as macros.*

Expand Down Expand Up @@ -359,7 +359,7 @@ xTicksToWait );
the specified block time expired before that happened.
<a name="example10.1" title="Using a task notification in place of a semaphore, method 1"></a>
<a name="example10.1" title="Example 10.1 Using a task notification in place of a semaphore, method 1"></a>
---
***Example 10.1*** *Using a task notification in place of a semaphore, method 1*
Expand Down Expand Up @@ -498,7 +498,7 @@ produced by the periodic task. Further explanation is provided in Figure 10.4.
***Figure 10.4*** *The sequence of execution when Example 10.1 is executed*
* * *
<a name="example10.2" title="Using a task notification in place of a semaphore, method 2"></a>
<a name="example10.2" title="Example 10.2 Using a task notification in place of a semaphore, method 2"></a>
---
***Example 10.2*** *Using a task notification in place of a semaphore, method 2*
Expand Down
Loading

0 comments on commit 27fc033

Please sign in to comment.