簡體   English   中英

在我的嵌入式系統上組織數據的最佳方法是什么?

[英]What's the best way to organize data on my embedded system?

我以前沒有為嵌入式系統做過很多編程,現在我必須為相對較小的東西創建一些腳本(<60MB RAM,其他幾乎所有這些都已被其他更關鍵的進程使用,處理器不到~500MHz)。 我不能一直運行一些東西,所以Firebird已經出局了。 我建議sqllite,但更熟悉該平台的人告訴我,即使這樣也可能消耗太多的內存和處理能力。

我將在Perl中編寫原型,並且可能需要重新編寫我在c中創建的腳本,以便以后獲得更好的性能。 我希望能夠在以后重新執行時重用我創建的數據結構。 到目前為止,我的大部分經驗都是在MySQL中,所以如果語法與此類似,那將會很棒。 有什么建議么?

對不起,我無法更好地描述我正在處理的平台。

作為一個建議,你可能想要考慮lua腳本,它非常快,並且可以在生產系統中使用,並且很容易綁定到c。

你需要一個關系數據庫嗎?

通常在嵌入式系統上,您使用簡單的存儲系統,如基於文件的系統。 通常,您需要的靈活性越多,您需要的開銷就越多。

  • 最簡單,將整個內存視為大型順序文件。
  • 稍微復雜一點,一個分配表來跟蹤多個文件

等等...

也許鍵/值存儲可以為您提供查詢和存儲的最佳折衷方案。

根據您的描述,我會看看Berkley DB或類似的鍵值商店。

您還可以將數據序列化為Perl中的C結構。 處理這個問題的傳統方法是使用pack ,但它對於更復雜的結構來說是一種痛苦。 我發現Convert :: Binary :: C非常適合處理目的地為C結構的數據。

您可以為CBC提供結構聲明並將其配置為處理編譯器的字節順序,int大小等。 您還可以提供在打包或解包值時執行的代碼。 例如,如果您有一個固定點數的typedef,您可以配置CBC將其解壓縮到Perl中的浮點數,然后在打包數時轉換回固定點。

我使用此工具處理內存轉儲以及准備部署到嵌入式系統的映像方面取得了巨大成功。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM