Naúrar 6 / 12

Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwaƙwalwa na Ƙaƙwalwa na Ƙaƙwalwa na Ƙarfafawa da Ƙaddamarwa na Firmware

Riba:

  • Ikon haɓaka kwarangwal na firmware microcontroller, direba da zanen injin jiha tare da AI
  • Ikon yin bitar katsewa, lokaci, mai sa ido da ƙarancin ƙarfin tunani tare da tallafin AI
  • Ikon tabbatar da lambar firmware da aka samar da AI ta hanyar bincike a tsaye, gwaji akan kayan aiki, da buƙatun tsaro

Na'urar da aka saka ita ce na'urar lantarki da aka gina a kusa da na'ura mai kwakwalwa (wata karamar kwamfutar da ke dauke da processor, memory da peripherals akan guntu guda) wanda aka tsara don yin wani takamaiman aiki: thermostat, modem, na'urar firikwensin, direban mota. Firmware shine software wanda ke tafiyar da kayan aikin wannan na'urar kai tsaye. A cikin wannan rukunin za ku ga yadda ake amfani da AI azaman mai haɓakawa a cikin haɓaka firmware (rubutun direba, injin jiha, katsewa da dabaru na lokaci, ƙarancin sarrafa wutar lantarki). AI yana da ƙarfi sosai a coding; Amma a cikin duniyar da aka haɗa, lambar tana haɗawa da kayan aiki, ainihin lokaci, da sau da yawa tsaro. Don haka kowane layi da AI ta ke samarwa dole ne ya bi ta hanyar bincike a tsaye, rajistar / duba takaddun bayanai, da ainihin gwaji a cikin kayan aiki.

Inda yake da ƙarfi, inda yake da haɗari a cikin firmware AI

AI yana da ƙarfi sosai akan ɓangaren "kwarangwal" da "mutu" na firmware: tsarin tsarin direban I2C / SPI, tsarin tsarin na'ura na jihar (hankalin da ke bayyana jihohi da canje-canje na na'urar), aiwatar da buffer zobe, fassarar koyarwa, kwarangwal na gwaji. Yana iya karanta tebirin rajista a cikin hadadden takaddar bayanai kuma ya samar da lambar farawa. Zai iya bayyana kuskure, fassara gargaɗin mai tarawa.

Inda yake da haɗari shine ainihin tsarin da aka haɗa:

  • Yi rijistar adireshi da filayen bit: AI na iya yin kuskuren tuna taswirar rajistar guntu; Dole ne a tabbatar da kowane adireshi da bit daga cikin bayanan.
  • Lokaci da ainihin lokacin: Nawa microsecond aiki yana ɗauka, sau nawa katsewa ya zo, ya dogara da kayan aikin; AI yayi annabta, kuna auna.
  • Daidaituwa: Idan masu canji da aka raba tsakanin sabis na katse na yau da kullun (ISR) da babban madauki ba su da kariya ta mai canzawa da damar atomic, shiru, kurakurai marasa maimaitawa sun faru.
  • Iyakar albarkatu: Tari ambaliya, ƙwanƙwasa ƙwaƙwalwar ajiya, ɓata lokaci mai tsaro yana nufin ɓarna a ciki.

Katsewa, lokaci da sa ido

Katsewa shine lokacin da wani lamari ya faru (bayanai sun isa, mai ƙididdigewa ya ƙare), mai sarrafawa ya watsar da babban aiki kuma yayi tsalle zuwa tsarin yau da kullun na sabis (ISR: Katse Sabis na Zamani). ISRs sune mafi mahimmancin lambobi a cikin tsarin da aka saka. Dokokin asali: ISR ya kamata ya zama gajere (an bar dogon aiki zuwa babban madauki), kada a sami ayyukan toshewa (jira, bugu) a ciki, ya kamata a kiyaye masu canji masu rarraba.

Watchdog wata hanya ce ta tsaro wacce ke sake kunna na'urar kai tsaye idan software ta lalace; Firmware yana "ciyar da shi" akai-akai, idan ba haka ba, an sake saita tsarin. AI yana tsara waɗannan tsarin, amma tsawon lokacin sa ido, katse abubuwan fifiko, da tsara kasafin kuɗi suna buƙatar ingantacciyar inganci akan ainihin nauyin da ke kan tsarin ku.

Tukwici: Lokacin buga ISR zuwa AI, a bayyane yake umurce shi da cewa "a kiyaye ISR gajere, ba tare da toshewa ba, yi alama masu canji tare da rashin daidaituwa da damar atomic, ba da dogon aiki zuwa babban madauki tare da tuta." Sa'an nan kuma duba layi ta layi a cikin lambar da ta samar cewa ana amfani da waɗannan ka'idoji.

Ƙananan ƙarfi da tsaro

Ƙananan sarrafa wutar lantarki yana da mahimmanci a cikin na'urori masu ƙarfin baturi: sanya na'ura mai sarrafawa zuwa barci, kashe kayan aiki, farkawa tare da wani taron. AI yana zana yanayin canjin yanayin bacci da dabaru na farkawa, amma ainihin amfani na yanzu ana saninsa kawai ta hanyar auna (mita na yanzu a matakin microampere); AI yana cewa "yana zana ~ 2 µA a cikin wannan yanayin" hasashe ne.

Daga yanayin tsaro, na'urorin da aka haɗa suna ƙara haɗin yanar gizo da kuma rashin lahani na firmware (buffer ambaliya, shigarwar da ba ta dace ba, cryptography mai rauni, buɗaɗɗen dubawa) haɗari ne. AI na iya tunatar da ku amintattun ƙa'idodin coding, amma ana tabbatar da amincin lambar da aka ƙirƙira ta kayan aikin bincike a tsaye, bita na lamba, da gwajin tsaro idan ya cancanta. A cikin tsarin aminci-mahimmanci (likita, motoci, masana'antu) fitarwa AI bai kamata ya maye gurbin hanyoyin da ake buƙata ta hanyar ingantaccen injin injiniya da ma'aunin aminci mai dacewa (misali IEC 61508, ISO 26262).

uku mini lokuta

Case 1 - Maɓalli na raba mara kariya. Injiniya yana buƙatar lambar karɓar UART daga AI. Lambar tana ƙara ƙima a cikin ISR kuma babban madauki yana karanta wannan counter; amma counter ba mai canzawa ba ne kuma karatun multibyte ba atomic ba ne. Na'urar tana aiki mafi yawan lokaci, amma lokaci-lokaci tana kuskuren ƙidayar bayanan kuma ba za a iya maimaita kuskuren ba. Tsayayyen bincike da duban lamba kama rasa maras tabbas; Kuskuren yana ɓacewa lokacin da aka kare counter ɗin. Darasi: Kuskuren haɗin kai suna da yawa kuma suna da banƙyama a cikin lambar AI; Wajibi ne a karanta da kuma tabbatarwa.

Case 2 - Kuskuren rajista bit. Wani ɗan ɗalibi yana loda lambar farawa ta ADC da AI ta samar; ADC yana karanta ƙimar da ba a zata ba. Kwatanta shi tare da bayanan bayanan, yana bayyana cewa AI ta saita bit ɗin sanyi a wurin da ba daidai ba (taswira don bambancin guntu daban-daban). Da zarar an gyara bit, ADC yana aiki daidai. Darasi: tabbatar da kowane rubutun rajista akan daidaitaccen bambance-bambancen bayanan.

Case 3 - Daidaitaccen amfani. Wani injiniya ya tambayi AI don kwarangwal na injin jiha don ƙayyadaddun ka'idar firikwensin; yana bayyana jihohi, sauye-sauye, da rassan lokacin ƙarewa. AI yana samar da tsari mai tsabta, wanda za'a iya karantawa. Injiniyan yana ɗaukar wannan tsarin, yana tabbatar da kowane damar yin rajista tare da takaddar bayanan, yana auna lokutan da oscilloscope, kuma yana gwada shi a cikin kayan aiki. Ana gama ci gaba a cikin 'yan sa'o'i maimakon 'yan kwanaki. Darasi: AI yana hanzarta kwarangwal; Injiniyan yayi tabbacin.

Samfuran gaggawar da za a iya kwafi

TEMPLATE DRIVER SKELETON"Rubuta kwarangwal na direban [I2C/SPI/UART] don [guntu/na gefe]: farawa, karantawa, rubutawa, ayyukan sarrafa kuskure. Bar adiresoshin rajista da filaye guda a PLACEHOLDER (misali REG_XXX) kuma lura da 'cikawa kuma tabbatar da su daga bayanan bayanan lokaci'. layi."

TSARON TSARO ISR"Rubuta daftarin tsarin sabis na yau da kullun (ISR) don taron mai zuwa: [abu]

TEMPLATE JIHA"Rubuta kwarangwal na injin jiha don ƙa'ida/tsari mai zuwa: [bayyana jihohi, abubuwan da suka faru, canje-canje, da lokutan ƙarewa]. Ƙayyade ayyukan shigarwa/fita da reshe na kuskure/lokacin ƙarewa ga kowace jiha. Bar takamaiman ƙimar hardware (yi rijista, tsawon lokaci) azaman masu sanya wuri kuma lura cewa suna buƙatar tabbatarwa."

TEMPLATE CODE REVIEW TEMPLATE "Bincika wannan lambar firmware mai zuwa daga hangen nesa mai haɗawa da haɗarin tuta: madaidaicin raba mara kariya (mai canzawa / atomity), aiki mai tsawo / toshewa a cikin ISR, haɗarin tari mai yawa, jira ba tare da ɓata lokaci ba, kurakuran rajista, ciyarwar sa ido. Ba da shawarar yadda zan gwada/tabbace ga kowane ganowa. Code: [manna]."

Rauni mai ƙarfi / Ƙarfi mai ƙarfi

RAUNI GASKIYA: "Rubuta mini direban UART."

KARFIN GASKIYA: "Rubuta tushen katsewa UART karɓar tsarin direba don [microcontroller]. Yi amfani da buffer zobe; kiyaye ISR gajere kuma kawai rubuta zuwa buffer, aiki a cikin babban madauki. Sanya firikwensin da aka raba su zama maras tabbas da atomic. Bar adiresoshin rajista a cikin masu sanya wuri, yi musu alama don tabbatarwa daga bayanan bayanan. A ƙarshen lambar, jera abubuwan da nake buƙata don gwadawa.

Rauni mai sauri yana samar da lambar da ke da kayan aiki da makafi; Ƙarfin faɗakarwa yana ƙaddamar da ƙa'idodin da aka haɗa da kuma faɗakarwa don lissafin tabbatarwa.

Yaduddukan tabbatar da firmware

Layer

me kamawa

Matsayin AI

Tabbatar da takaddun bayanai

Rijista kuskure/bit

Yana haifar da mai riƙe wuri da bayanin kula

Nazari a tsaye (linter)

maras tabbas, nau'in, kurakuran iyaka

Jerin dokoki da bayani

Gargadi masu tarawa

Canza kai tsaye, ƙimar da ba a yi amfani da ita ba

Sharhin gargadi

Gwaji a cikin hardware

Lokaci, ainihin hali

Gwaji shawarar yanayin

Oscilloscope/analyzer

Sigina da daidaiton tsari

Wurin aunawa da igiyar ruwa da ake tsammani

Tsanaki: Kawai saboda firmware "yana tattara" kuma "yana aiki mafi yawan lokaci" ba yana nufin daidai ba ne. Kuskuren ma'amala da lokaci suna faruwa ne kawai a ƙarƙashin wasu yanayi; Shi ya sa bincike a tsaye da gwaji na gaske a cikin kayan masarufi ke da mahimmanci.

Kuskuren gama gari

  • Ba kare masu canji ba. Bayanai tsakanin ISR da babban madauki dole ne su zama maras tabbas da atomic.
  • Ba a tabbatar da adireshin rajista/bit tare da takaddun bayanai ba. AI na iya yin taswirar bambance-bambancen da ba daidai ba.
  • Tsayawa ISR tsawo ko toshewa a ciki. Tsarin ba zai iya amsawa ba, an rasa katsewa.
  • Tsammanin lokaci ba tare da aunawa ba. Ainihin lokacin ya dogara da hardware; tabbatar da oscilloscope.
  • Barin lambar tsaro/mahimmancin aminci don amincewar AI. Injini mai ƙware da ƙa'idar daidaitaccen tsari suna da mahimmanci.

a takaice

A cikin wannan rukunin kun yi amfani da AI azaman mai haɓaka mai ƙarfi don ƙirƙirar skeleton firmware, direba, injin jiha da zanen ISR. Amma a cikin duniyar da aka haɗa, lambar tana haɗawa da kayan aiki, ainihin lokaci, da tsaro: ana tabbatar da ƙimar rajista / bit daga bayanan bayanan, an tabbatar da daidaituwa daga bincike na tsaye, an tabbatar da lokaci daga oscilloscope, an tabbatar da halayen daga ainihin gwaji a cikin kayan aiki. AI yana ba da kwarangwal a cikin mintuna; Injiniyan yana tabbatar da firmware yana aiki daidai, amintacce kuma akan lokaci. A cikin tsare-tsare masu mahimmancin aminci, fitowar AI baya maye gurbin matakan tsaro da suka dace da kuma ƙwararrun injiniyoyi.

Aikin aikace-aikace

Zaɓi na gefe (misali firikwensin I2C). Tare da samfurin "kwakwalwar direba", tambayi AI don kwarangwal ɗin direba wanda ya bar rajista a cikin masu sanya wuri. Sannan samar da zanen ISR don katsewar bayanan da aka shirya daga wannan firikwensin tare da samfurin "ISR security". A ƙarshe, bincika lambar da yake samarwa tare da samfurin "Code review" don haɗaɗɗun haɗari kuma rubuta aƙalla matakan tabbatarwa/gwaji guda uku.

jerin abubuwan dubawa

  • [ ] Na tabbatar da kowane adireshin rajista da bit daga madaidaicin bambance-bambancen bayanai.
  • [ ] Na sanya bambance-bambancen da aka raba tsakanin ISR da babban madauki mai canzawa da atomic.
  • [ ] Na ajiye ISR takaice, ban sanya toshewa ba, na mika dogon aikin zuwa babban madauki.
  • [ ] Na yi shirin gwada lokaci da ainihin hali a cikin kayan aiki da kuma tare da oscilloscope.
  • [ ] Na duba lambar tare da tsayayyen bincike da gargaɗin mai tarawa.
  • [ ] Na bar matakan tsaro/mahimmancin aminci ga amincewar ƙwararren injiniya da kuma daidaitaccen tsari.