この投稿では、AUTOSARに近い標準に従ってマイクロプロセッサ用のソフトウェアを開発するために私が書いたプログラムをあなたと共有したいと思います。
2018年、私はEPAM Belarusで、ステアリングラック用のソフトウェアを開発するためのアウトソーシングプロジェクトに招待されました。私は大きな喜びに同意し、ベラルーシに住み、働きに行きました。
このプロジェクトで、私は自動車業界のソフトウェア開発標準であるAUTOSARについて知りました。
AUTOSARについて一言
標準によると、アプリケーションアーキテクチャは3つのレベルに分けられます。
応用;
ランタイム環境(RTE);
基本的なソフトウェア。
標準の主なアイデアは、システムをコンポーネントに分割し、各レベルの責任のレベルを定義することです。同時に、彼らは主にアプリケーションを鉄から独立させようとしているので、あるMCから別のMCにソフトウェアを簡単に転送できます。システムは独立したコンポーネントに分割され、RTEを使用して相互に作用します。これにより、各コンポーネントを個別にテストし、テストでほぼ100%のコードカバレッジを達成できます。
標準について詳しくは、こちらをご覧ください。
標準によれば、コンポーネントは次のコンポーネントを持つことができます。
相互に通信するためのポート。
RTE(ランナブル)からのイベントで呼び出される関数。
– Calibration Data (CData);
– Per Instance Memory (PIM);
runnables – Inter Runnable Variable (IRV).
runnables CData, PIM, IRV RTE.
. , , . : sender-receiver, client-server.
Sender – ;
Receiver – ;
Server – ;
Client – .
SWC1 SWC2, SWC1.

.
AUTOSAR GUI Editor
, , . . , , arxml. :
;
client-server sender-receiver ;
. ;
(struct), ;
;
, , write read , server ;
(Multiple instantiation);
PIM CData , PIM CData;
runnable , ;
runnables ;
RTE , ;
;
test environment ;
runnables;
.
:
, Main .
- ;
FreeRTOS, , , , FreeRTOS . git .
.
, Main. , , .
, , insert.
, , .
, definition, , , definition (drag and drop). , . , , Multiple instantiation. runnables, , PIM CData.

, , , defenition , .

init values PIM CData Component properties .

, . Insert->Connection , . , , . , , .
,
-
-
, , .
.
Runnables management, System-> Runnables order. , , runnables .


Stack size in bytes . , ( git ) , RTOS .
RTE
RTE , . System->Check errors.

, RTE Project Settings. (Project->Settings…). , .

, , .
, , Project->Generate RTE RTE . , RTE RteSkeleton RTE.
STM32CubeIDE
STM32CubeIDE, , , runnables, Data .
STM32CubeIDE , .. . , , :
Components
, , .
Includes include , RTE.
4. Source Location Components RTE

5. main.c :
#include "Rte_Task_Scheduler.h"
.

6. stm32f4xx_it.c /* USER CODE BEGIN Includes */ /* USER CODE END Includes */ :
#include "Rte_Task_Scheduler.h"
SysTick_Handler.

7. .
github.
, AGE , – RTE, .
プログラムに興味がある場合は、次の記事でコンポーネントのテスト方法を説明します。
結論
このエディターにより、STM32用のアプリケーションのアーキテクチャをより視覚的かつ柔軟にすることができました。数学的にロードされたコンポーネントを作成する必要がある場合は、Eclipseで簡単にテストして、STM32のプロジェクトに簡単に実装できます。また、あるコンポーネントから別のコンポーネントへのデータの流れが明確に見えるようになったため、プロジェクトで問題が発生した場合に、その原因を簡単かつ迅速に見つけることができます。
AUTOSAR GuiEditorへのリンク。
プロジェクトへのリンク。R