Changes for page API контроллеров AZ®
Last modified by Max on 2025/03/02 15:18
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -505,24 +505,24 @@ 505 505 ;.................................. 506 506 {{/code}} 507 507 508 -== 017: Getramdisk size,large==508 +== **017: Получить размер псевдодиска, большой** == 509 509 510 - Therearetwocommandstoget the size of a pseudo-disk,i.e.theAZnfile-imagemountedonthe selected pseudo-drive.511 -\\ IftheOSbeing used(oraprogramworkingwithdiskswithout an OS)canworkwithlarge(morethan32M)disks,youshouldusethecommandwith the code017.Thesequence of actions:resetthecontroller(p. 3.1),selectthedrive(p. 3.2)andsendthecode017to the CSR,andthen,withoutanywaiting,readfromDRfirstthe lower word,andthenthehigherwordofthesizeofthe selected drive(image file).512 -\\ IftheOSyouareusingcannotworkwithdiskslarger than32M(RT-11),youshouldusethe007command-getthepseudo-disksizewithalimit of up to32M.Thesteps are similar:resetthe controller,selectthe disk,sendthe007 code to theCSRandreade wordofthepseudo-disksize fromDR.Ifthesizeoftheimagefilemountedontheselectedpseudo-driveis larger than65534blocks,thecontrollerreturnsthenumber65534instead of this "large" size.Weremindyouthat the number65535isusedinsomeplacesforspecialpurposesandcannotbe the disk size.513 -\\ Wealsoremindyouthatiftheimagefileis not mounted on this drive,thesequenceofactionswill not work(command001selectdevice)andtheprogramexecutionwillsimplynotreachthis point.Therefore,thesecommandsdonotprovidefor errors.514 -\\ Exampleofaprogramwith large disks510 +Есть две команды получения размера псевдодиска, т.е. смонтированного на выбранный псевдопривод AZn файл-образа. 511 +\\Если используемая ОС (или программа, работающая с дисками без ОС) умеет работать с большими (больше 32М) дисками, следует пользоваться командой с кодом 017. Последовательность действий: сбросить контроллер (п. 3.1), выбрать накопитель (п. 3.2) и переслать в CSR код 017, а затем, без каких-либо ожиданий, считать из DR сначала младшее, и следом за ним старшее слово размера выбранного накопителя (файл-образа). 512 +\\Если используемая ОС не умеет работать с дисками бОльшими, чем 32М (RT-11), следует пользоваться командой 007 - получить размер псевдодиска с ограничением до 32М. Действия похожие: сбрасываем контроллер, выбираем диск, посылаем в CSR код [[007>>doc:||anchor="H007:41F43E43B44344743844244C44043043743C43544043F44143543243443E43443844143A430"]] и считываем из DR одно слово размера псевдодиска. Если размер файл-образа, смонтированного на выбранный псевдопривод, больше 65534 блоков, вместо этого "большого" размера, контроллер возвращает число 65534. Напоминаем, что число 65535 кое-где используется в специальных целях и не может быть размером диска. 513 +\\Также напоминаем, что если на этот накопитель не смонтирован файл-образ, последовательность действий не пройдет (команда 001 выбор устройства) и исполнение программы до этого места просто не дойдет. Поэтому ошибок у этих команд не предусмотрено. 514 +\\Пример программы с большими дисками 515 515 516 516 {{code language="assembler"}} 517 517 ;...................................... 518 518 519 -GetBig=017; Getthe"big"disksize519 +GetBig=017; Получить "большой" размер диска 520 520 521 -; Fromfragment3.2 (diskselection)wehaveinR3522 -; DR address(177222)521 +; От фрагмента 3.2 (выбор диска) у нас в R3 остался 522 +; адрес DR (177222) 523 523 524 - MOV #GetBig,-(R3); sendthe command525 - TST (R3)+; returntheaddressinR3backtoDR524 + MOV #GetBig,-(R3); пошлем команду 525 + TST (R3)+; вернем адрес в R3 назад, на DR 526 526 MOV @R3,BigSiz 527 527 MOV @R3,BigSiz+2 528 528 ;...................................... ... ... @@ -529,15 +529,16 @@ 529 529 {{/code}} 530 530 531 531 532 -== 020: Getextendeddiagnosticcode==532 +== **020: Получить расширенный код диагностики** == 533 533 534 - Commandcode020,afterresettingthecontroller,youshouldissuethiscommand in theCSRandthenreadtwowordsofextendeddiagnosticsfromDR.Thecommand is instant,nowaitingis required.534 +Код команды 020, после сброса контроллера следует выдать эту команду в CSR и затем прочитать два слова расширенной диагностики из DR. Команда мгновенная, ожидание не требуется. 535 535 536 536 537 -== 027: GetfirmwareversionAZ STM32 ==537 +== **027: Получить версию firmware AZ STM32** == 538 538 539 -Command code 027, returns 2 words 540 -\\first word - 06404 = high byte 13. this is the firmware version, low byte 4. this is the hardware version - i.e. AZБК in this case second word - 037 = this is the maximum mountable disk - 31. 539 +Код команды 027, возвращает 2 слова 540 +\\первое слово - 06404 = старший байт 13. это версия прошивки, младший байт 4. это версия железа - те AZБК в данном случае 541 +второе слово - 037 = это максимальный монтируемый диск - 31. 541 541 542 542 543 543 {{code language="assembler"}}