中文字幕DVD波多野结衣专区_亚洲老妇老熟妇_国产果冻豆传媒麻婆精东影视_国产精品久久久久免费A∨_久精品国产欧美亚洲色aⅴ大片

24小時(shí)聯(lián)系電話(huà):18217114652、13661815404

中文

您當(dāng)前的位置:
首頁(yè)>
電子資訊>
技術(shù)專(zhuān)題>
嵌入式系統(tǒng)中的PDF生...

技術(shù)專(zhuān)題

嵌入式系統(tǒng)中的PDF生成


嵌入式系統(tǒng)中的PDF生成

傳統(tǒng)的數(shù)據(jù)記錄器將數(shù)據(jù)顯示為純文本,逗號(hào)分隔值(CSV)或可擴(kuò)展標(biāo)記語(yǔ)言(XML)。如果您具有支持軟件來(lái)處理數(shù)據(jù)的格式,這些格式的文件就可以很好地工作,但是,如果您正在尋找一種分發(fā)文件的快速方法,任何人都可以打開(kāi),則便攜式文檔格式(PDF)更適合。這是因?yàn)閿?shù)據(jù)是以一致且易于管理的方式呈現(xiàn)的;除了文字墻外,還可以為用戶(hù)提供清晰布局的摘要,圖表和圖像。任何人都可以輕松打開(kāi)或分發(fā)數(shù)據(jù),而無(wú)需任何軟件,而無(wú)需擁有計(jì)算機(jī)上已有的軟件。

我們已經(jīng)開(kāi)發(fā)了嵌入式軟件,可以直接在微控制器(Wikipedia)上生成動(dòng)態(tài)PDF文件,然后可以將其寫(xiě)入SD卡或通過(guò)USB傳輸(該設(shè)備可以顯示為大容量存儲(chǔ)設(shè)備,就像您的閃存驅(qū)動(dòng)器一樣) )。用作數(shù)據(jù)記錄器只是潛在的應(yīng)用之一。

PC和嵌入式系統(tǒng)比較

我們首先使用C#編寫(xiě)軟件,然后在PC上運(yùn)行,因?yàn)檫@可以讓我們快速輕松地確定以代碼形式生成PDF所需的內(nèi)容事實(shí)證明這相當(dāng)簡(jiǎn)單,盡管我們已經(jīng)知道在為嵌入式設(shè)備(在這種情況下為8PIC單片機(jī))編寫(xiě)代碼時(shí)會(huì)遇到獨(dú)特的挑戰(zhàn)。

當(dāng)編寫(xiě)在PC上運(yùn)行的軟件時(shí),程序會(huì)有大量資源可供使用,下表顯示了典型PC和典型8位微控制器之間的比較。

個(gè)人電腦

微控制器

內(nèi)存(B

4,294,967,296

256

ROMKB

1,073,741,824

8

時(shí)鐘速度(MHz

3000

16

完全不同!一臺(tái)PC的內(nèi)存(RAM)增加了1700萬(wàn)倍,存儲(chǔ)(ROM)增加了1.34億倍,并且運(yùn)行速度提高了188倍!因此,雖然很容易在PCRAM中生成整個(gè)PDF文件,但在許多微控制器上卻根本不可能做到這一點(diǎn)。

通常,這不會(huì)造成太大的問(wèn)題,因?yàn)榭梢蚤_(kāi)始寫(xiě)入文件。但是,PDF格式是為快速查看而設(shè)計(jì)的-實(shí)現(xiàn)此目的的一種方法是使用文件末尾的表格,該表格引用所有組件(頁(yè)面,圖像,字體等)的位置。該表允許查看軟件直接讀取文件的所需部分,從而節(jié)省了時(shí)間和內(nèi)存。這種引用技術(shù)以及其他引用技術(shù)可能很難以編程方式進(jìn)行處理。

解決方案

最簡(jiǎn)單的解決方案是在返回并填充所有丟失的引用之前在RAM中生成整個(gè)PDF,但是,如前所述,由于嵌入式系統(tǒng)的限制,這是不可能的。通過(guò)使用多種預(yù)測(cè)性和補(bǔ)償性方法,生成軟件可以克服這一困難-逐步逐行生成文件并將每個(gè)文件推入外部存儲(chǔ)設(shè)備(例如SD卡)。通過(guò)這種方式,在任何時(shí)間點(diǎn)只有少量文件存儲(chǔ)在內(nèi)存中,從而確保有限的資源不會(huì)被耗盡,同時(shí)仍然允許大型,復(fù)雜的PDF文件。下面顯示了以此方式生成的一個(gè)簡(jiǎn)單示例頁(yè)面。

在為嵌入式系統(tǒng)編寫(xiě)代碼時(shí),這是一個(gè)常見(jiàn)的困難真正的挑戰(zhàn)在于理解微控制器的工作方式并了解其局限性??紤]到這一點(diǎn),可以創(chuàng)建快速有效的系統(tǒng)。

請(qǐng)輸入搜索關(guān)鍵字

確定