您認爲MSM(Boost Meta State Machine)適合嵌入式應用嗎?在我的情況下,應用程序應該在帶有1 MB閃存和192 KB RAM的Cortex-M4F MCU上運行。我喜歡MSM爲您提供更加結構化的方法來定義具有正交區域的分層狀態機,但它也引入了一些開銷。我想知道這種方法是否適用於具有內存限制的嵌入式應用程序,還是應該回到更傳統的「開關外殼」狀態機。嵌入式應用中的狀態機(提升)
0
A
回答
0
這真的取決於你需要多久使用它,有多少值將它添加到您的項目在時間上,易開發,可讀性,可移植性等&
如果你有所有的時間在世界上,你可能會做出更有效的,並可能特定於你的需求,但這不太可能。
RAM是以前的。因此,使用Boot MSM編寫一個不重要的狀態機,並檢查對RAM使用情況的影響。編寫簡單的狀態機很可能會超過你想要的。
記住,C++ 11級& 14的編譯器比他們曾經是元編程/模板要聰明得多,所以代碼膨脹不真正應該關注的,因爲權衡/成本使用Boost MSM可能值得它用於複雜的,不平凡的狀態機。
查看Boost MSM-lite(實驗性),試圖通過將MSM簡化爲香草MSM的有限設施來解決許多問題。
相關問題
- 1. 狀態機 - 嵌入式開關
- 2. 多線程嵌入式linux應用程序狀態機設計
- 3. 在React中提升狀態
- 4. 反應通過組件提升狀態
- 5. 嵌入式linux,應用程序狀態凍結,重新啓動
- 6. 反應改變狀態嵌入對象
- 7. 嵌入引用計數與提升shared_ptr
- 8. 有限狀態機應該具有「嵌套」有限狀態機嗎?
- 9. 狀態類型提升:融合提升:odeint
- 10. SSRS中嵌入的IIF狀態
- 11. 提升MSM僞退出狀態
- 12. 提升mpi相當於狀態.MPI_SOURCE
- 13. 提升狀態圖轉換參數
- 14. mapStateToProps()在Redux應用程序嵌套狀態的狀態?
- 15. java中高效的狀態機模式
- 16. WPF和狀態機模式
- 17. 在嵌入式應用程序中播放嵌入式WAV
- 18. Ruby中的動態狀態機?狀態機必須是類嗎?
- 19. 提供進入無響應狀態直到完成的宏的狀態更新
- 20. 提升事件和狀態重用的msm問題
- 21. 使用保持與提升函子的狀態:: transform_iterator
- 22. 在React中提升狀態的正確方法
- 23. 嵌入Flash在Facebook的狀態更新
- 24. 線程或狀態機來管理應用程序狀態?
- 25. 在WPF中實現狀態機模式
- 26. 分層狀態機:on_enter在嵌套機上調用父方法
- 27. 查詢嵌入在閃亮應用中的數據表的狀態/屬性
- 28. 使用數組反應本機狀態
- 29. 如何在Facebook上的文本中插入嵌入式鏈接狀態更新
- 30. 嵌入式ruby解釋器的復位狀態
我不能告訴升壓MSM,但[STTCL(http://makulik.github.io/sttcl/)肯定會適合一個cortext M4。但我猜是因爲它被命名爲** Meta ** - 狀態機,他們會使用類似的技術。而且,不要回退到傳統的FSM開關盒。 – 2014-11-14 17:59:45
在這樣一個有限的系統中,你根本不應該使用C++。絕對不是模板。 – 2014-11-14 18:00:44
@JoachimPileborg什麼?我們一直在做,而且我們非常成功地做到了這一點(實際上並未使用提升)。 – 2014-11-14 18:02:11