Агуулгын хүснэгт:

Улбар шар өнгийн PI HowTo: Windows доорх Windows -ийн Sunxi хэрэгслийг эмхэтгэх: 14 алхам (зурагтай)
Улбар шар өнгийн PI HowTo: Windows доорх Windows -ийн Sunxi хэрэгслийг эмхэтгэх: 14 алхам (зурагтай)

Видео: Улбар шар өнгийн PI HowTo: Windows доорх Windows -ийн Sunxi хэрэгслийг эмхэтгэх: 14 алхам (зурагтай)

Видео: Улбар шар өнгийн PI HowTo: Windows доорх Windows -ийн Sunxi хэрэгслийг эмхэтгэх: 14 алхам (зурагтай)
Видео: КИТАЙЦЫ, ЧТО ВЫ ТВОРИТЕ??? 35 СУПЕР ТОВАРОВ ДЛЯ АВТОМОБИЛЯ С ALIEXPRESS 2024, Долдугаар сарын
Anonim
Улбар шар өнгийн PI HowTo: Windows дор Windows -ийн Sunxi хэрэгслийг эмхэтгээрэй
Улбар шар өнгийн PI HowTo: Windows дор Windows -ийн Sunxi хэрэгслийг эмхэтгээрэй

ШААРДЛАГА:

Танд хэрэгтэй болно

  1. Windows үйлдлийн системтэй (ширээний) компьютер.
  2. Интернет холболт.
  3. Улбар шар өнгийн PI самбар.

Сүүлийнх нь сонголттой боловч танд аль хэдийн байгаа гэдэгт итгэлтэй байна. Үгүй бол та энэ зааварчилгааг уншихгүй.

Та Orange PI дан самбарыг худалдаж авахдаа зөв тохируулагдах хүртэл үхсэн металлын нэг хэсэг хэвээр үлдэнэ. Мөн түүний үндсэн тохиргооны файл: "script.bin" нь түүнийг амьдруулах анхны түлхүүр юм. Энэ файл нь таны ачаалах боломжтой SD картны ачаалах хэсэгт байрладаг. Аз болоход, албан ёсны сайтаас (https://www.orangepi.org/downloadresources/) Линукс түгээлтийн ихэнх хэсэгт энэ хуваалт нь FAT32 бөгөөд Windows -ийн аль ч компьютерт хялбархан харагдах боломжтой. Линукс ext2 хуваалтуудыг Windows доороос бичих найдвартай арга одоог хүртэл байхгүй тул энэ нь бүх зүйлийг үнэхээр хялбарчилж өгдөг.

Бидэнд харамсалтай нь script.bin тохиргооны файл нь хүний засварлахад огт тохиромжгүй хоёртын форматтай байдаг. Шаардлагатай өөрчлөлтүүдийг хийсний дараа шифрийг тайлж, буцааж шифрлэхийн тулд танд ямар нэгэн програм хангамж хэрэгтэй болно. Мөн ийм хэрэгсэл байдаг. Энэ бол нэр хүндтэй SUNXI-TOOLS юм. Асуудалтай нэг зүйл бол энэ нь Линукс дээр ажиллах зориулалттай бөгөөд бид зөвхөн sunxi хэрэгслүүдийг ашиглах зориулалттай тусгай зориулалтын Линукс машинтай байх эсвэл цонхонд хэрхэн эмхэтгэх аргыг хайж олох ёстой.

Би үүнийг зүгээр л эмхэтгэж, гүйцэтгэгддэг файлыг хуваалцах боломжтой байсан ч тэд шинэ хувилбар гаргахыг хүсч байгаа эсэхээ хэзээ ч мэдэхгүй бөгөөд танд аль болох хурдан шинэ эмхэтгэл хэрэгтэй болно. Тиймээс би эх сурвалжаас чухал хэрэгслийг хэрхэн эмхэтгэх талаар гарын авлага гаргахаар шийдлээ. Эхэлцгээе.

Алхам 1: Sunxi хэрэгслүүдийг татаж авах

Sunxi хэрэгслийг татаж авах
Sunxi хэрэгслийг татаж авах
Sunxi хэрэгслийг татаж авах
Sunxi хэрэгслийг татаж авах

Sunxi-tools-ийн эх кодын хамгийн сүүлийн (эсвэл шаардлагатай) хувилбарыг аваарай. URL руу орно уу: https://github.com/linux-sunxi/sunxi-tools/releases, татаж авахыг zip архив болгон сонгоно уу.

Алхам 2: Sourcecode кодыг задлах

Sourcecode -ийг задлах
Sourcecode -ийг задлах

Татаж дууссаны дараа эх кодыг өөрийн сонгосон хавтсанд задлаарай. (цаашид энэ фолдерыг c: / sunxitools / гэж үзэх болно, тиймээс энэ замыг өөрийн замаар солино уу).

Алхам 3: Код татаж авах:: блокууд

Код татаж авах:: блокууд
Код татаж авах:: блокууд

Хэрэв танд Windows үйлдлийн системийн c ++ хөрвүүлэгчийн хуулбар суулгасан бол. Хэрэв та үүнийг хэрхэн ашиглахаа мэддэг бол 3 -р алхам руу шууд шилжиж болно. Бусад нь үүнийг тухтай ашиглахын тулд зохих c ++ хөрвүүлэгч болон бүрхүүл (IDE) авах ёстой. Миний сонголт бол Windows -д зориулсан код:: блокууд, MinGW хэрэгслийн сүлжээг урьдчилан суулгасан болно. Та үүнийг эндээс авах боломжтой:

Татаж аваад суулгаарай.

Алхам 4: IDE -гээ туршиж үзээрэй

IDE -гээ туршиж үзээрэй
IDE -гээ туршиж үзээрэй

Бүх зүйл хэвийн байгаа эсэхийг шалгахын тулд код блокуудыг эхлүүлж, "шинэ төсөл үүсгэх" дээр дарна уу, "консол програм" -ыг сонгоно уу, c эсвэл c ++ аль нэгийг сонгоно уу, төлбөр тооцооны төслийн нэрийг бичнэ үү, дараагийн цонхонд өгөгдмөлийг гар хүрээгүй байлгаад "дуусгах" дээр дарна уу. ".

Алхам 5: Туршилтыг дуусгах

Туршилтыг дуусгах
Туршилтыг дуусгах

Дараа нь IDE-ийн дээд самбар дээрх ногоон гурвалжин дээр дарна уу эсвэл Build-> Run цэсийн цэгийг ашиглана уу. Хэрэв бүх зүйл зөв хийгдсэн бол хар "DOS" цонхонд автоматаар үүсгэсэн "Hello world" програмаас ирсэн мессежийг харах ёстой.

Үгүй бол энэ нь IDE болон хөрвүүлэгч буруу ажиллаж байгаа гэсэн үг бөгөөд та үүнийг хэрхэн зөв тохируулах талаар судлах шаардлагатай болно. Магадгүй та програмчлалын хэрэгслүүдийн өөр хувилбарыг татаж авах эсвэл тэдний галт хана/вирусны эсрэг програм хангамжийн зөвшөөрлийг шалгах шаардлагатай болно.

Алхам 6: Шинэ төсөл үүсгэх

Шинэ төсөл бий болгох
Шинэ төсөл бий болгох
Шинэ төсөл бий болгох
Шинэ төсөл бий болгох
Шинэ төсөл бий болгох
Шинэ төсөл бий болгох
Шинэ төсөл бий болгох
Шинэ төсөл бий болгох

Одоо та компьютер дээрээ c: / sunxitools / фолдерт үйл ажиллагаа явуулж буй C/C ++ програмист багаж, задалсан sunxi-tools эх кодтой байх ёстой. Төслийг угсрах цаг болжээ. IDE дээр шинэ төсөл үүсгэх. "Консол програм" төрлийн энгийн C (c ++ биш) төслийг сонгоно уу.

Та өөр газар биш харин c: / sunxitools / фолдерт төсөл үүсгэж байгаа эсэхийг шалгаарай. (EG код блокууд нь төсөлтэй ижил нэртэй дэд хавтас үүсгэх хандлагатай байдаг. Тиймээс, хэрэв та өөрийн төслийг нэрлэсэн бол "тест" гэж хэлээд үүнийг c: / sunxitools / дотор байрлуулахыг оролдоорой. to c: / sunxitools / test / Хэрэв та хангалттай анхаарал хандуулахгүй байгаа бол.) Sunxi-хэрэгслүүд нь хэд хэдэн хэрэгслүүдийг агуулдаг боловч бидний хувьд бидэнд зөвхөн "fexc" гэж нэрлэгддэг хэрэгсэл хэрэгтэй болно.

Алхам 7: Төсөлд файл нэмэх

Төсөлд файл нэмэх
Төсөлд файл нэмэх

Яг "fexc" хэрэгсэл нь script.bin -ийг текст формат руу, буцааж хоёртын формат руу хөрвүүлэх үүрэгтэй. Энэ хэрэгслийг ажиллуулах боломжтой зүйл нь "fexc.exe" нэртэй байх нь чухал бөгөөд хэрэв та өөрийн төслийг "fexc" гэж нэрлэсэн бол сайн. Гэсэн хэдий ч та төслийн өөр нэрийг ашиглаж болно, учир нь та хөрвүүлсний дараа гүйцэтгэгдэх нэрээ үргэлж өөрчилж болно, эсвэл дээд цэснээс "Project-> Properties" -ийг сонгоод гарч ирэх цонхонд "Зорилт үүсгэх" таб дээр дарна уу. мөн "Гаралтын файлын нэр" талбарыг засварлаж, гүйцэтгэгдэх нэрийг дарж бичнэ үү.

Автоматаар үүсгэсэн төсөлдөө та зөвхөн таван эх файл нэмэх ёстой.

  • fexc.c
  • скрипт.c
  • script_bin.c
  • script_fex.c
  • script_uboot.c

болон долоон толгой файлууд:

  • list.h (үүнийг c: / sunxitools / include / хавтас руу c: / sunxitools / фолдер руу шилжүүлэх)
  • fexc.h
  • скрипт.h
  • script_bin.h
  • script_fex.h
  • script_uboot.h
  • хувилбар.h

Автоматаар үүсгэгдсэн main.c -ийг төслөөс хасахаа мартуузай, учир нь fexc.c нь "int main" функцтэй байна. (Аливаа програм зөвхөн нэг үндсэн функцтэй байх ёстой гэдгийг санаарай?).

Шаардлагатай бүх эх кодын файлууд аль хэдийн дэд санд байгаа бөгөөд эндээс та эх кодыг задалсан болно. Толгой файлууд нь хаанаас авах вэ гэсэн хос үгтэй байх ёстой. "list.h" - ихэвчлэн задалсан эх кодын багцад багтсан "оруулах" дэд хавтсанд байдаг. "version.h" - үүнийг өөрөө бүтээгээрэй. Тэнд дараах мөрийг тавь.

"Win32" хувилбарыг #тодорхойлох

Дараа нь файлыг хадгалаад хаа. (Хэрэв та хүсвэл үүнийг #тодорхойлох, #ifdef -ээр чимэглэж болно.)

Хэрэв та одоо төслийг эмхэтгэхийг оролдвол энэ нь маш олон алдаа, алга болсон файлын талаар гомдоллох болно. Алдаа нь ихэвчлэн хэт их хэв маягийн эрх чөлөө, sunxi-tools програмистууд ашигладаг бөгөөд дутуу файл нь эх кодын багцад ороогүй хамаарал юм. Үүнийг алхам алхамаар шийдье.

Алхам 8: Gcc -ийг 1999 оны ISO C хэлний стандартыг дагаж мөрдөөрэй

Gcc -ийг 1999 оны ISO C хэлний стандартыг дагаж мөрдөөрэй
Gcc -ийг 1999 оны ISO C хэлний стандартыг дагаж мөрдөөрэй

Хөрвүүлэгч нь хэтэрхий чөлөөтэй програмчлалын хэв маягийг гомдоллохгүйн тулд эмхэтгэлийн "с99" стандартыг тогтоодог. Код блокуудад "Project -> Build Options" цэс рүү ороод "Compiler Settings -> Compiler Flags" хэсэгт "gcc нь 1999 оны ISO C хэлний стандартыг дагаж мөрдөөрэй" гэсэн нүдийг чагтална уу. Эсвэл та өөрийн хөрвүүлэгчийн сонголтын мөрөнд "-std = c99" -г нэмж болно. Хэрэв хэрэв та төслийг эмхэтгэх гэж оролдвол эдгээр олон тооны алдаа гарах ёстой бөгөөд та хамааралгүй болсон нэг хүн байна.

Алхам 9: Алдагдсан хараат байдлыг олох

Алдагдсан хараат байдлыг олох
Алдагдсан хараат байдлыг олох

Алга болсон хамаарал бол линукс санах ойн менежерийн толгой хэсэг болох "mman.h" файл юм. Windows C нь ийм файлгүй боловч аз болоход цонхны порт байдаг. Цонхны хувьд https://github.com/witwall/mman-win32 руу орно уу. Git репозиторын хормын хувилбарыг татаж авах.

Алхам 10: Mman -ийг задлах

Мманыг задлах
Мманыг задлах

Mman.c болон mman.h файлуудыг задалж c: / sunxitools / фолдерт байрлуул.

Алхам 11: Тэднийг төсөлд нэмнэ үү

Тэднийг төсөлд нэмнэ үү
Тэднийг төсөлд нэмнэ үү

Алхам 12: Зөв зам

Зөв зам
Зөв зам

Мөн "fex.c" файлд raplece мөр байна:

#оруулах

нь

#"mman.h" оруулна уу

Энэ үе шатанд таны хөрвүүлэгч юу ч гомдоллох ёсгүй бөгөөд та fexc.exe -ийг гаралтын хувьд удаан хүлээх болно. Битгий эрт баярлаарай. Энэхүү хэрэгсэл нь бүрэн ажиллагаагүй хэвээр байна. Та үүнийг хүчин төгөлдөр скрипт.бин файлын текст хэлбэрт оруулах замаар баталгаажуулж болно - script.fex файлын үр дүнд script.fex файлыг script.bin руу буцааж шифрлэнэ. Үүсгэсэн script.bin -ийн хэмжээ нь анхны script.bin -ийн хэмжээнээс ялимгүй ялгаатай болохыг та анзаарч болно. Хэрэв та үр дүнг дахин тайлахыг оролдвол энэ нь амжилтгүй болно. Улбар шар PI нь энэ скрипт.bin -тэй ажиллахгүй. Функциональ хэрэгслийг олж авахын тулд хэн нэгэн sunxi-tools-ийн эх кодыг оруулсан кодын бөмбөгийг хаях ёстой. Энэ нь бидний дараагийн алхам байх болно.

Алхам 13: Хөөж гаргах

Хөөж гаргах
Хөөж гаргах

Кодын бөмбөгийг гадагшлуулахын тулд fexc.c кодын файлыг нээгээд дараагийн агуулгын текст мөрийг олоорой.

else if ((out = open (файлын нэр, O_WRONLY | O_CREAT | O_TRUNC, 0666)) <0) {

Дараах мөрөөр солино уу.

else if ((out = open (файлын нэр, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY, 512)) <0) {

Хэрэв эхний мөрөнд "666" гэсэн муу тоонууд байхгүй бол кодлогч нь O_BINARY тугийг ашиглахаа мартсан гэж бодож байна. Гэхдээ Араатны тоо нь түүний санааг ил тод тайлбарлаж өгдөг. Windows, Linux дээр файлуудыг хэрхэн боловсруулж байгаа нь нарийн ялгаатай байдлаас шалтгаалан уг хэрэгслийг Линукс дээр эмхэтгэн ашиглахад тэсрэх бөмбөг ямар ч нөлөө үзүүлэхгүй. Гэхдээ энэ хэрэгслийг Windows дор ашиглахад энэ нь бүх зүйлийг сүйтгэдэг.

Бөмбөгийг зэвсэггүй болгосны дараа та эцэст нь Windows ширээний компьютер дээрээ fexc хэрэгслийг эмхэтгэж, аюулгүй ашиглаж болно.

Алхам 14: ТАЙЛБАР

ТАЙЛБАР
ТАЙЛБАР

1) fexc хэрэгслийг тухтай ашиглахын тулд та хоёр багц файл авах ёстой:

bin2fex.bat - ба - fex2bin.bat.

Та тэдгээрийг Windows -д зориулсан fexc.exe програмаас авах боломжтой, эсвэл та өөрөө бичиж болно:

  • bin2fex.bat нь "fexc -I bin -O fex script.bin script.fex" -ийг агуулсан байх ёстой.
  • fex2bin.bat нь "fexc -O bin -I fex script.fex script.bin" -ийг агуулсан байх ёстой.

2) Хэрэв Windows -ийн менежерийг олоход хэцүү байвал түүнийг ашиглахаас зайлсхийх боломжтой. Гэсэн хэдий ч fexc.c файлыг илүү их засварлах шаардлагатай бөгөөд c -ийн талаар бага зэрэг мэдлэг шаардагдана. Таны итгэл үнэмшилд зориулж би mx.h-аас хамааралгүй sunxi-tools v1.4-ээс fexc-ийн засварласан эх кодыг кодын блокуудын төслийн файлын хамт, зарим улбар шар өнгийн pi.bin-ийн дээжтэй хуваалцаж байна. Та fexc_nomman.zip татаж авах боломжтой

3) Sunxi-хэрэгслүүдийн дараагийн хувилбаруудад тэд илүү их хамаарал нэмж магадгүй юм. Тэднийг интернетээс олж, эмхэтгэх төсөлдөө нэмж оруулаарай.

5) Эцэст нь Win32 -д зориулсан fexc.exe -ийн урьдчилан эмхэтгэсэн хувилбар энд байна:

fexc_nomman.zip

Хэрэв та хангалттай залхуу байгаа бол ver -ийг чөлөөтэй ашиглаарай. Гэхдээ SunxiTools/Windows -ийн шинэ хувилбарууд бэлэн болсон тохиолдолд шинэчлэгдэхгүй гэдгийг анхаарна уу. Зарим тогтмол хоёртын бүтцээс хамааралгүйгээр тэдгээрийг хэрхэн эмхэтгэхийг сурах нь дээр гэж би бодож байна.

4) "Orange PI", "Code:: Blocks", "Windows", "Linux", "Sunxi-Tools", "Allwinner" гэх мэт нь тус тусын эздийнхээ холбогдох худалдааны тэмдэг юм.

5) Хэрэв та хөрвүүлэгч mman функц олдохгүй байгаа талаар гомдоллож байвал:

'_imp_mmap' гэсэн тодорхойгүй лавлагаа

mman хөгжүүлэлтийн нийгэмлэгт дурлагчид кодыг зөвхөн dll номын сан хэлбэрээр эмхэтгэх боломжтой гэдгийг мартсан гэдгийг анхаарна уу. Энэ нь статик номын сан эсвэл энд байгаа шиг дан код байж болно. Асуудлыг шийдэхийн тулд "mman.h" файлыг дараах байдлаар засварлана уу.

а) мөрүүдийг олох:

#тодорхойлсон бол (MMAN_LIBRARY)

#MMANSHARED_EXPORT _declspec (dllexport) #бусад #MMANSHARED_EXPORT _declspec (dllimport) #endif -ийг тодорхойлох

б) мөрийг нэмнэ

MMANSHARED_EXPORT -ийг #тодорхойлох

өмнөх алхам дээр олдсон мөрүүдийн доор

Зөвлөмж болгож буй: