Мазмуну:
- 1-кадам: Sunxi-куралдарын жүктөп алыңыз
- 2 -кадам: Sourcecode кодун ачыңыз
- 3 -кадам: Кодду жүктөп алуу:: блоктор
- 4 -кадам: IDEди текшериңиз
- 5 -кадам: Complete Test
- 6 -кадам: Жаңы долбоор түзүү
- 7 -кадам: Долбоорго файлдарды кошуу
- 8 -кадам: Gcc 1999 ISO C Тил Стандартын аткарыңыз
- 9 -кадам: Жоголгон көз карандылыкты табыңыз
- 10 -кадам: Адамды ачыңыз
- 11 -кадам: Жана аларды Долбоорго кошуңуз
- 12 -кадам: Туура жол
- 13 -кадам: Экзоризм
- 14 -кадам: ЭСКЕРТҮҮЛӨР
Video: Orange PI HowTo: Windows астында Windows үчүн Sunxi куралын түзүү: 14 кадам (сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:42
СУНУШТАР:
Сага керек болот
- Windows менен иштеген (рабочий) компьютер.
- Интернет байланышы.
- Orange PI тактасы.
Акыркы милдеттүү эмес, бирок мен ишенем, сизде буга чейин бар. Болбосо, сиз бул көрсөтмөнү окубайсыз.
Orange PI бир такталуу компьютерин сатып алганда, ал туура конфигурацияланганга чейин өлгөн металлдын бир бөлүгү болуп калат. Жана анын негизги конфигурация файлы: "script.bin" - аны тирүү кылуунун биринчи ачкычы. Бул файл сиздин жүктөлүүчү SD картаңыздын жүктөө бөлүмүндө жайгашкан. Бактыга жараша, Linuxтун көпчүлүк бөлүгүндө расмий сайттан (https://www.orangepi.org/downloadresources/) бул бөлүм FAT32 болуп саналат жана аны Windowsтун каалаган компьютери оңой көрө алат. Бул нерселерди чындап жөнөкөйлөтөт, анткени Windowsтун астынан Linux ext2 бөлүктөрүнө жазуунун ишенимдүү жолу жок.
Бизге ийгиликсиз болгон script.bin конфигурация файлы экилик форматка ээ, адамдык түзөтүү үчүн таптакыр жагымсыз. Аны чечүү жана керектүү өзгөртүүлөр киргизилгенден кийин кайра криптовалаштыруу үчүн кандайдыр бир программалык курал керек. Жана мындай куралдар бар. Бул атактуу SUNXI-TOOLS. Майлардын чымыны-бул Linuxтун астында иштөө үчүн арналган жана биз sunxi-инструменттерин гана колдонуу үчүн атайын Linux машинасын сактап калуубуз керек, же аларды терезелер үчүн кантип чогултуунун жолун табышыбыз керек.
Мен аны түзүп, аткарылуучу файл менен бөлүшмөкмүн, бирок алар жаңы чыгарууну каалашабы же жокпу эч ким билбейт жана сизге ASAP жаңы компиляциясы керек болот. Ошентип, булактан керектүү куралды кантип чогултуу керек экенин көрсөтүүнү чечтим. Баштайлы.
1-кадам: Sunxi-куралдарын жүктөп алыңыз
Sunxi-tools'дин акыркы (же керектүү) версиясын алыңыз.
2 -кадам: Sourcecode кодун ачыңыз
Жүктөө аяктагандан кийин, баштапкы кодду тандаган папкаңыздан чыгарыңыз. (мындан ары мен бул папканы c: / sunxitools / деп ойлойм, андыктан бул жолду өз жолуң менен алмаштыр).
3 -кадам: Кодду жүктөп алуу:: блоктор
Эгерде сизде Windows үчүн кээ бир c ++ компиляторунун көчүрмөсү орнотулган болсо. жана эгер сиз аны кантип колдонууну билсеңиз, 3 -кадамга өтсөңүз болот. Башкалар аны ыңгайлуу колдонуу үчүн тиешелүү c ++ компиляторун жана кабыгын (IDE) алышы керек. Менин тандоо - бул код:: блоктор Windows үчүн, MinGW алдын ала орнотулган шаймандар менен бирге. Аны бул жерден алсаңыз болот:
Жүктөп алып, орнотуңуз.
4 -кадам: IDEди текшериңиз
Баары ойдогудай экенин текшерүү үчүн, код блокторун баштаңыз, "жаңы долбоор түзүү" баскычын чыкылдатыңыз, "консоль тиркемесин" тандаңыз, c же c ++ тандаңыз, кассалык долбоордун аталышын териңиз, демейки параметрлерди кийинки терезеде калтырыңыз жана "бүтүрүү" баскычын басыңыз. ".
5 -кадам: Complete Test
Андан кийин IDEдин жогорку панелиндеги жашыл үч бурчтукту чыкылдатыңыз же Build-> Run меню пунктун колдонуңуз. Эгерде баары ойдогудай болсо, кара "DOS" терезесинен сиз өзүңүздүн авторизацияланган "Hello world" колдонмоңуздан келген билдирүүнү көрүшүңүз керек.
Болбосо, бул IDE жана компилятор туура иштебей жатат дегенди билдирет жана сиз аны кантип туура орнотууну иликтешиңиз керек болот. Кыязы, сиз программалоо куралдарынын башка версиясын жүктөп алышыңыз керек же Firewall/Antivirus программасында алардын уруксаттарын текшеришиңиз керек.
6 -кадам: Жаңы долбоор түзүү
Эми сизде операциялык C/C ++ программистинин инструменттери жана таңгакталбаган sunxi-инструменттери c: / sunxitools / папкасында болушу керек. Долбоорду чогултуу убактысы келди. Сиздин IDEде жаңы долбоор түзүңүз. "Консоль тиркемеси" түрүндөгү жөнөкөй C (c ++ эмес) долбоорун тандаңыз.
Долбоорду башка жерде эмес, c: / sunxitools / папкасында түзүп жатканыңызды текшериңиз. (EG код блоктору проекттин аталышындагы чакан папканы түзүшөт. Демек, эгер сиз долбооруңузду атасаңыз, "тест" деп айтыңыз жана аны c: / sunxitools / деп коюуга аракет кылсаңыз, сиз долбоордун жок болуп кетишиңиз мүмкүн. c: / sunxitools / test / "Эгерде сиз жетишерлик көңүл бурбасаңыз.) Sunxi-инструменттерде бир нече утилиталар бар, бирок биздин максат үчүн бизге бирөө гана керек болот:" fexc "деп аталган утилита.
7 -кадам: Долбоорго файлдарды кошуу
Так "fexc" утилита скрипт.бинди текст форматына жана артка экиликке айландыруу үчүн жооптуу. Бул утилитанын "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" - жөн гана аны өзүңүз түзүңүз. Ал жерге мындай сапты коюңуз:
#define VERSION "Win32"
Андан кийин файлды сактап, жабыңыз. (Сиз кааласаңыз #аны аныктоо жана #ifdef менен кооздоп койсоңуз болот.)
Эгер сиз азыр долбоорду түзүүгө аракет кылсаңыз, ал көптөгөн каталарга жана бир файлдын жоктугуна нааразы болот. Каталар негизинен ашыкча стиль эркиндигинен, sunxi-инструменттери колдонулган программисттерден жана жетишпеген файл баштапкы коддун пакетине кирбеген көз карандылыктан улам келип чыккан. Бул кадам менен этап -этабы менен күрөшөлү.
8 -кадам: Gcc 1999 ISO C Тил Стандартын аткарыңыз
Компилятор даттанбашы үчүн, өтө эркин программалоо стили компиляциянын "с99" стандартын орноткон. Код блокторунда "Проект -> Куруу Параметрлери" менюсуна өтүңүз жана "Компилятордун Орнотуулары -> Компилятор Желектеринде" "gcc 1999 ISO C тилинин стандартын аткарсын" деген кутучаны белгилеңиз. Же сиз жөн эле "-std = c99" кошо аласыз компилятордун параметрлерине string. Now, эгер сиз долбоорду түзүүгө аракет кылсаңыз, анда тонна каталар кетиши керек жана сиз көз карандылыкты жоготуп алдыңыз.
9 -кадам: Жоголгон көз карандылыкты табыңыз
Жетишпеген көз карандылык "mman.h" файлы - кандайдыр бир Linux эс тутум башкаруучусунун башы. Windows Cде мындай файл жок, бирок бактыга жараша анын терезеси бар. Windows үчүн https://github.com/witwall/mman-win32 дарегине өтүңүз. Git репозиторийинин сүрөтүн жүктөп алыңыз.
10 -кадам: Адамды ачыңыз
Mman.c жана mman.h файлдарын таңгактан чыгарыңыз, аларды c: / sunxitools / папкасына салыңыз.
11 -кадам: Жана аларды Долбоорго кошуңуз
12 -кадам: Туура жол
Жана "fex.c" файлында raplece линиясы:
#кошуу
га
#"mman.h" кошуу
Бул кадамда сиздин компилятор эч нерсеге нааразы болбошу керек жана сиз fexc.exe файлын узак убакыт бою күтөсүз. Эрте бактылуу болбо. Утилита дагы эле толук иштей элек. Сиз муну кандайдыр бир жарактуу script.bin файлынын текст түрүндөгү шифрди чечүү менен камсыз кыла аласыз - скрипт.fex файлы script.fex файлын кайра script.binге шифрлөө менен. Пайда болгон script.bin өлчөмү баштапкы script.bin өлчөмүнөн бир аз айырмаланарын белгилей аласыз. Жана эгер сиз дагы бир жолу чечмелөөгө аракет кылсаңыз, анда ал ишке ашпайт. Orange PI да бул script.bin менен иштебейт. Функционалдык утилитаны алуу үчүн, кимдир бирөө sunxi-tools булак кодуна киргизген бомбаны кое беришибиз керек. Бул биздин кийинки кадамыбыз болот.
13 -кадам: Экзоризм
Код бомбасын чыгаруу үчүн fexc.c код файлын ачыңыз жана ал жерден кийинки мазмундун текст сабын табыңыз:
else if ((out = open (файлдын аты, O_WRONLY | O_CREAT | O_TRUNC, 0666)) <0) {
Аны кийинки сап менен алмаштырыңыз:
else if ((out = open (filename, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY, 512)) <0) {
Эгерде биринчи саптагы "666" деген жаман цифралар болбосо, анда кодер O_BINARY желегин колдонууну унутуп калды деп ойлойм. Бирок Жырткычтын саны анын ниетин ачык -айкын түшүндүрөт. Фигураны караңыз, бул кандай тапкычтык: Windows жана Linuxто файлдарды иштетүүнүн тымызын айырмачылыгынан улам, утилитаны 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 үчүн mman менеджерин табуу кыйын болсо, аны колдонуудан таптакыр кача алабыз. Бирок fexc.c файлын оңдоону талап кылат жана жок дегенде c маалыматын талап кылат. Сиздин ишенимдүүлүгүңүз үчүн, мен mx.h көз карандылыгынан алыс турган sunxi-tools v1.4-тен fexcтин оңдолгон булак кодун codeblocks проекти файлы менен бирге жана апельсин пи үлгүсүндөгү script.bin менен бөлүшөм. Сиз fexc_nomman.zip жүктөп алсаңыз болот
3) Sunxi инструменттеринин кийинки версияларында алар дагы бир нече көз карандылыкты кошушу мүмкүн. Аларды интернеттен таап, аларды сиздин компиляция долбооруңузга кошуңуз.
5) Акыры бул жерде Win32 үчүн fexc.exeнин алдын ала түзүлгөн версиясы:
fexc_nomman.zip
Эгерде сиз жетишерлик жалкоо болсоңуз, верди колдонуңуз. Бирок 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
жөн гана мурунку кадамда табылган саптардын астында
Сунушталууда:
Howto: Rpi-imager жана сүрөттөр менен Raspberry PI 4 Headless (VNC) орнотуу: 7 кадам (Сүрөттөр менен)
Howto: Rpi-imager жана сүрөттөр менен Raspberry PI 4 Headless (VNC) орнотуу: Мен бул блогумда кызыктуу долбоорлордун топтомунда бул Rapsberry PI колдонууну пландап жатам. Аны текшерүүдөн тартынбаңыз. Мен Raspberry PIди колдонууну каалагам, бирок жаңы жерде клавиатура же чычкан жок болчу. Мен Raspberry орнотконума бир топ убакыт болду
Чоң ийкемдүү тунук LED матрицасы $ 150 астында. Жасоо оңой.: 8 кадам (Сүрөттөр менен)
Чоң ийкемдүү тунук LED матрицасы $ 150 астында. Жасоо оңой: Мен профессионал эмесмин деп айткым келет, менде электроника боюнча эч кандай диплом жок. Мен жөн гана колум менен иштеп, нерселерди ойлоп тапкандан ырахат алам. Мен муну мен сыяктуу профессионал эместерге дем берүү үчүн айтып жатам. Сиздин жөндөмүңүз бар
Бургулоочу машиналарга Сандер куралын жасаңыз - Оңой толтуруу: 3 кадам (Сүрөттөр менен)
Бургулоочу машиналар үчүн Сандер куралын жасаңыз - Оңой толтуруу: Саламатсызбы! Бул көрсөтмөдөн сиз бардык бургулоочу машиналар үчүн өтө жөнөкөй ажыратылгыч куралды жасоону үйрөнөсүз. Долбоор ушунчалык жөнөкөй болгондуктан, шаймандар жана машиналар жөнүндө эч кандай терең билимсиз бир мүнөттүн ичинде жасалышы мүмкүн. Тиркемелер: Жыгач
Orange PI HowTo: 5 "HDMI TFT LCD дисплейи менен колдонууга орнотуңуз: 8 кадам (сүрөттөр менен)
Orange PI HowTo: Аны 5 "HDMI TFT ЖК дисплейи менен колдонууга орнотуңуз: Эгерде сиз Orange PI менен бирге HDMI TFT LCD дисплейине заказ кылуу үчүн кыраакы болсоңуз, анда аны иштөөгө мажбурлоодогу кыйынчылыктар көңүлүңүздү чөгөрөт. Башкалар эч кандай тоскоолдуктарды байкай алышпаса да. Эң негизгиси, бул жерде
Минималист IR калеми: Лайкоо жок, Мүнөт астында, Доллар астында.: 3 кадам
Минималист IR калеми: Лайкоо жок, Мүнөт астында, Доллар астында: Менин биринчи үйрөткүчүм, бул пайдалуу деп үмүттөнөм: Эгерде сиз JC Leeди сынап көргүңүз келсе (JC Джонни Чунгду билдирет, бирок ал кандайдыр бир керемет жасайт. ..) же www.smoothboard.net сайтындагы Smoothboard программасы (жарык жылдар алдыда, анткени Бун Джин баштаган