GoGPT Best VPN GoSearch

OnWorks favicon

srec_examples - ອອນລາຍໃນຄລາວ

ແລ່ນ srec_examples ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີຜ່ານ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ນີ້ແມ່ນຄໍາສັ່ງ srec_examples ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ໂຄງການ:

NAME


srec_examples - ຕົວຢ່າງຂອງວິທີການໃຊ້ SRecord

ລາຍລະອຽດ


ໄດ້ srec_cat ຄໍາສັ່ງແມ່ນມີອໍານາດຫຼາຍ, ເນື່ອງຈາກຄວາມສາມາດໃນການສົມທົບການກັ່ນຕອງການປ້ອນຂໍ້ມູນ
ໃນ​ວິ​ທີ​ການ​ເກືອບ​ບໍ່​ຈໍາ​ກັດ​. ຫນ້າຄູ່ມືນີ້ອະທິບາຍບາງສ່ວນຂອງພວກເຂົາ.

ຫນ້າຄູ່ມືນີ້ອະທິບາຍວິທີການນໍາໃຊ້ໄຟລ໌ປ້ອນຂໍ້ມູນຕ່າງໆ, ການກັ່ນຕອງການປ້ອນຂໍ້ມູນແລະການປ້ອນຂໍ້ມູນ
ເຄື່ອງປັ່ນໄຟ. ແຕ່ເຫຼົ່ານີ້ແມ່ນພຽງແຕ່ຕົວຢ່າງ, ສໍາລັບລາຍລະອຽດຄົບຖ້ວນສົມບູນ, ເບິ່ງ srec_input(1​)
ຫນ້າຄູ່ມື.

ໄດ້ ຄໍາສັ່ງ ເສັ້ນ ມີ ເກີນໄປ Long
ຖ້າຫາກວ່າທ່ານກໍາລັງ marooned ໃນລະບົບປະຕິບັດການທີ່ມີຂໍ້ຈໍາກັດຄວາມຍາວຂອງເສັ້ນຄໍາສັ່ງສັ້ນ absurdly,
ບາງຄໍາສັ່ງທີ່ປະຕິບັດຕາມອາດຈະຍາວເກີນໄປ. ທ່ານ​ສາ​ມາດ​ໄດ້​ຮັບ​ປະ​ມານ​ພິ​ເສດ​ນີ້​ໂດຍ​
ວາງເສັ້ນຄໍາສັ່ງຂອງທ່ານໃນໄຟລ໌, ເວົ້າ fred.txt, ແລະຫຼັງຈາກນັ້ນບອກ srec_cat(1​) ການ​ອ່ານ​ນີ້​
ໄຟລ໌ສໍາລັບສ່ວນທີ່ເຫຼືອຂອງເສັ້ນຄໍາສັ່ງຂອງມັນ, ເຊັ່ນນີ້

srec_cat @fred.txt

ນີ້ຍັງມີຂໍ້ໄດ້ປຽບຂອງການອະນຸຍາດໃຫ້ຄໍາເຫັນ, ຊ່ວຍໃຫ້ທ່ານຂຽນເສັ້ນຄໍາສັ່ງຂອງທ່ານ
ທາງເລືອກໃນໄລຍະຫຼາຍເສັ້ນ, ແລະແມ້ກະທັ້ງ indenting ເພື່ອເຮັດໃຫ້ຄໍາສັ່ງຈະແຈ້ງຫຼາຍ. ຄຳເຫັນ
ເລີ່ມ​ຕົ້ນ​ທີ່ "#” ແລະຂະຫຍາຍໄປໃນຕອນທ້າຍຂອງເສັ້ນ. ເສັ້ນຫວ່າງຖືກລະເລີຍ.

ແນ່ນອນ, ເຈົ້າສາມາດອັບເກຣດເປັນ Linux ໄດ້ສະເໝີ, ເຊິ່ງໄດ້ດູດໜ້ອຍກວ່າ 27 ປີ
ປີ​ນີ້.

ຂອງທ່ານ ຕົວຢ່າງ ຕ້ອງການ
ຖ້າ​ຫາກ​ວ່າ​ທ່ານ​ມີ​ວິ​ທີ​ການ​ທີ່​ສະ​ຫຼາດ​ຂອງ​ການ​ນໍາ​ໃຊ້ SRecord​, ຫຼື​ໄດ້​ແກ້​ໄຂ​ບັນ​ຫາ​ຍາກ​ທີ່​ມີ​
SRecord, ທ່ານສາມາດປະກອບສ່ວນເຂົ້າໃນຫນ້າຄູ່ມືນີ້, ເຮັດໃຫ້ມັນເປັນປະໂຫຍດຫຼາຍສໍາລັບທຸກຄົນ.
ສົ່ງຕົວຢ່າງຂອງທ່ານໃນອີເມວໄປຫາທີ່ຢູ່ອີເມວໃນຕອນທ້າຍຂອງຫນ້າຄູ່ມືນີ້.

ການປ່ຽນແປງ ເອກະສານ ຮູບແບບ


ງ່າຍ​ທີ່​ສຸດ​ຂອງ​ສິ່ງ​ທີ່​ srec_cat(1​) ສາ​ມາດ​ເຮັດ​ໄດ້​ແມ່ນ​ການ​ປ່ຽນ​ຈາກ​ຫນຶ່ງ​ຮູບ​ແບບ​ໄຟລ​໌ EPROM ກັບ​
ອື່ນ. ກະລຸນາຈື່ໄວ້, ໃນຂະນະທີ່ທ່ານອ່ານພາກນີ້, ທີ່ທ່ານສາມາດເຮັດໄດ້ຫຼາຍຢ່າງ
ສິ່ງພ້ອມໆກັນໃນຄໍາສັ່ງດຽວ. ເຂົາເຈົ້າພຽງແຕ່ແຍກອອກແຍກຕ່າງຫາກເພື່ອເຮັດໃຫ້ເຂົາເຈົ້າ
ເຂົ້າໃຈງ່າຍກວ່າ.

Intel to Motorola
ຫນຶ່ງໃນຕົວຢ່າງທີ່ງ່າຍດາຍທີ່ສຸດແມ່ນການປ່ຽນໄຟລ໌ຈາກຮູບແບບ Intel hex ກັບ Motorola S-
ຮູບແບບການບັນທຶກ:

srec_cat ໄຟລ໌ Intel -intel -o srec-file

ໃຫ້ສັງເກດວ່າຕົວລະບຸຮູບແບບທັນທີປະຕິບັດຕາມຊື່ຂອງໄຟລ໌ທີ່ມັນກໍາລັງອະທິບາຍ.
ເລືອກຮູບແບບໃດກໍໄດ້ສອງຮູບແບບທີ່ SRecord ເຂົ້າໃຈ, ແລະມັນສາມາດປ່ຽນລະຫວ່າງພວກມັນທັງໝົດໄດ້.
(ຍົກເວັ້ນຕົວປະກອບ, ພື້ນຖານ, C ແລະ FPGA ຜົນໄດ້ຮັບທີ່ຂຽນເທົ່ານັ້ນ.)

Motorola to Intel
ການ​ປ່ຽນ​ທາງ​ອື່ນ​ແມ່ນ​ງ່າຍ​ດາຍ​ເຊັ່ນ​ດຽວ​ກັນ​:

srec_cat srec-file -o ໄຟລ໌ Intel -intel

ຮູບແບບເລີ່ມຕົ້ນແມ່ນຮູບແບບ Motorola S-Record, ສະນັ້ນມັນບໍ່ຈໍາເປັນຕ້ອງລະບຸໄວ້ຫຼັງຈາກນັ້ນ
ຊື່ໄຟລ໌.

ທີ່ແຕກຕ່າງກັນ ຮູບຮ່າງ of ໄດ້ Same ຮູບແບບ
ມັນເປັນເລື່ອງທີ່ໜ້າເສຍໃຈທີ່ນັກຂຽນໂປລແກລມ EPROM ບາງຄົນປະຕິບັດພຽງແຕ່ສ່ວນໜຶ່ງເທົ່ານັ້ນ
ຂອງສະເພາະທີ່ໃຊ້ເພື່ອເປັນຕົວແທນຂອງໄຟລ໌ hex ຂອງພວກເຂົາ. ຕົວຢ່າງ, ບາງ compilers
ຜະລິດ "s19" ຂໍ້ມູນ Motorola (ນັ້ນແມ່ນ, ບັນທຶກຂໍ້ມູນ S1 ກັບບັນທຶກການເລີ່ມຕົ້ນ S9, 16 bit.
address fields) ເຊິ່ງຈະເປັນ OK ຍົກເວັ້ນບາງ blockhead EPROM programmers instant on
“s37” ຂໍ້​ມູນ Motorola (ນັ້ນ​ແມ່ນ, S3 data records with S7 start records, 32 bit address.
ທົ່ງນາ).

ມັນເປັນໄປໄດ້ທີ່ຈະປ່ຽນຈາກຮູບຮ່າງຂອງ Motorola ໄປຫາຮູບແບບອື່ນໂດຍໃຊ້ - ຄວາມ​ຍາວ​ທີ່​ຢູ່​
ຕົວເລືອກ:

srec_cat short.srec -o long.srec -address-length=4

ຄໍາສັ່ງນີ້ບອກວ່າຈະໃຊ້ສີ່ byte (32-bit) addresses on output.

ພາກນີ້ຍັງໃຊ້ກັບໄຟລ໌ Intel hex, ຍ້ອນວ່າພວກເຂົາ, ເຊັ່ນດຽວກັນ, ມີຄວາມສາມາດໃນການເລືອກ
ຈາກຄວາມກວ້າງຂອງທີ່ຢູ່ທີ່ຫຼາກຫຼາຍ. ເພື່ອປ່ຽນຈາກຮູບຮ່າງຂອງ Intel ໄປເປັນຮູບແບບອື່ນໂດຍໃຊ້
ດຽວກັນ - ຄວາມ​ຍາວ​ທີ່​ຢູ່​ ຕົວເລືອກ:

srec_cat i32.hex -o i16.hex -address-length=3

ຄໍາສັ່ງນີ້ບອກວ່າຈະໃຊ້ “i16hex” 20-bit segmented addresses on output. ຄວາມຍາວທີ່ຢູ່
ຂອງ 4 ແມ່ນຄ່າເລີ່ມຕົ້ນ (“i32hex” 32-bit linear addressing), ແລະຄວາມຍາວທີ່ຢູ່ຂອງ 2 ຈະ.
ຮ້ອງຂໍ "i8hex" 16-bit ທີ່ຢູ່.

ອອນໄລນ໌ ຄວາມຍາວ
ບາງຄັ້ງເຈົ້າຈະພົບກັບນັກຂຽນໂປລແກລມ EPROM ທີ່ມີຈິດໃຈອ່ອນແອທີ່ບໍ່ສາມາດຮັບມືໄດ້
ດ້ວຍ​ແຖວ​ຕົວ​ໜັງ​ສື​ຍາວ, ພວກ​ເຂົາ​ເຈົ້າ​ສົມ​ມຸດ​ວ່າ​ຈະ​ມີ​ພຽງ​ແຕ່ 46 ຕົວ​ອັກ​ສອນ​ຕໍ່​ແຖວ
barf ເມື່ອພວກເຂົາເຫັນຄວາມຍາວຂອງເສັ້ນເລີ່ມຕົ້ນ srec_cat(1) ຂຽນ (ຫຼືຮ້າຍແຮງກວ່າເກົ່າ, ເອົາ stack ເປັນ
scribble ແລະ crash).

ນິຍາມຮູບແບບຂອງ Motorola S-record ອະນຸຍາດໃຫ້ໂຫຼດໄດ້ເຖິງ 255 bytes ຂອງ payload, ຫຼືສາຍຂອງ
514 ຕົວອັກສອນ, ບວກກັບການຢຸດແຖວ. ໂປລແກລມ EPROM ທັງໝົດ ຄວນ ມີພຽງພໍ
buffers ເສັ້ນຂະຫນາດໃຫຍ່ເພື່ອຮັບມືກັບບັນທຶກຂະຫນາດໃຫຍ່ນີ້. ບໍ່ຫຼາຍປານໃດເຮັດ.

ທາງ​ເລືອກ -line-length ອາດ​ຈະ​ຖືກ​ນໍາ​ໃຊ້​ເພື່ອ​ລະ​ບຸ​ຄວາມ​ຍາວ​ເສັ້ນ​ສູງ​ສຸດ (ບໍ່​ລວມ​ທັງ​ການ​
newline) ເພື່ອ​ນໍາ​ໃຊ້​ໃນ​ການ​ຜະ​ລິດ​ຕະ​ພັນ​. ຕົວຢ່າງ, 16 byte payloads ສໍາລັບ Motorola hex

srec_cat long.srec -o short.s19 -line-length=46

ທາງ​ເລືອກ​ຄວາມ​ຍາວ​ຂອງ​ເສັ້ນ​ພົວ​ພັນ​ກັບ​ທາງ​ເລືອກ​ຂອງ​ຄວາມ​ຍາວ​ທີ່​ຢູ່​, ສະ​ນັ້ນ​ບາງ tinkering ກັບ​
ປັບຕົວໃຫ້ເໝາະສົມກັບສະຖານະການສະເພາະຂອງເຈົ້າຫຼາຍສົມຄວນ.

ຜົນຜະລິດ Block ເລືອກຂະຫນາດ
ທຸກໆຄັ້ງທີ່ເຈົ້າຈະພົບກັບນັກຂຽນໂປລແກລມ EPROM ເກົ່າແກ່ທີ່ເຮັດບໍ່ໄດ້
ຮັບ​ມື​ກັບ​ການ​ບັນ​ທຶກ​ຂໍ້​ມູນ​ທີ່​ຍາວ​ນານ​, ພວກ​ເຂົາ​ເຈົ້າ​ສົມ​ມຸດ​ວ່າ​ຈະ​ມີ​ພຽງ​ແຕ່​ຫຼາຍ​ທີ່​ສຸດ 16 bytes ຂອງ​
ຂໍ້​ມູນ​ຕໍ່​ບັນ​ທຶກ​, ແລະ barf ໃນ​ເວ​ລາ​ທີ່​ພວກ​ເຂົາ​ເຈົ້າ​ເຫັນ​ຄ່າ​ເລີ່ມ​ຕົ້ນ 32 byte payloads ວ່າ​ srec_cat(1​)
ຂຽນ (ຫຼືຮ້າຍແຮງກວ່າເກົ່າ, buffer over-run ເຮັດໃຫ້ເກີດການຍ່າງຫຍ້າສູງທີ່ scribbles ສຸດຂອງທ່ານ
EPROM).

ຄໍານິຍາມຮູບແບບ Intel hex ອະນຸຍາດໃຫ້ເຖິງ 255 bytes ຂອງ payload ຂໍ້ມູນຕໍ່ບັນທຶກ. ທັງໝົດ
ໂປລແກລມ EPROM ຄວນ ມີ buffers ຂໍ້ມູນຂະຫນາດໃຫຍ່ພຽງພໍເພື່ອຮັບມືກັບບັນທຶກນີ້
ໃຫຍ່. ໂຊກດີກັບສິ່ງນັ້ນ.

ຕົວເລືອກ -Output-Block-Size ອາດຈະຖືກນໍາໃຊ້ເພື່ອກໍານົດຂະຫນາດຂໍ້ມູນບັນທຶກທີ່ຈະໃຊ້
ຜົນຜະລິດ. ຕົວຢ່າງ, Intel hex ກັບ 16 byte payloads:

srec_cat long.srec -o short.hex -intel -obs=16

ຈົ່ງລະມັດລະວັງບໍ່ໃຫ້ໃສ່ - obs ທາງເລືອກລະຫວ່າງຊື່ໄຟລ໌ຜົນຜະລິດແລະຮູບແບບ
ຕົວລະບຸ.

ພຽງແຕ່ ໄດ້ ຂໍ້ມູນ, ກະ​ລຸ​ນາ
ມີບາງນັກຂຽນໂປລແກລມ EPROM ກະດູກທີ່ພຽງແຕ່ສາມາດຮັບມືກັບບັນທຶກຂໍ້ມູນ, ແລະມີ
ບໍ່ສາມາດຮັບມືກັບການບັນທຶກສ່ວນຫົວ ຫຼືການບັນທຶກທີ່ຢູ່ເລີ່ມຕົ້ນ. ຖ້າເຈົ້າມີອັນນີ້
ບັນຫາ, ໄດ້ - ຂໍ້ມູນເທົ່ານັ້ນ ທາງເລືອກສາມາດຖືກນໍາໃຊ້ເພື່ອສະກັດກັ້ນທຸກສິ່ງທຸກຢ່າງຍົກເວັ້ນ
ຂໍ້ມູນ. ຜົນກະທົບຕົວຈິງແມ່ນຂຶ້ນກັບຮູບແບບ, ແນ່ນອນ, ເພາະວ່າບາງຄົນບໍ່ມີສິ່ງເຫຼົ່ານີ້
ລັກສະນະໃດກໍ່ຕາມ.

ໄດ້ - ຂໍ້ມູນເທົ່ານັ້ນ ທາງ​ເລືອກ​ແມ່ນ​ມື​ສັ້ນ​. ມີສີ່ຄຸນສົມບັດທີ່ອາດຈະເປັນ - ຄົນພິການ or
-enabled ແຍກຕ່າງຫາກ. ເບິ່ງ srec_cat(1) ຫນ້າຜູ້ຊາຍສໍາລັບລາຍລະອຽດຂອງ - ຄົນພິການ ແລະ
-enabled ຕົວເລືອກ

ຕົວຢ່າງ, ໂປຣແກມ neanderthal EPROM ຂອງທ່ານຕ້ອງການ Motorola hex ທີ່ມີບັນທຶກ header
(S0), ແຕ່ບໍ່ມີການນັບຂໍ້ມູນ (S5) ບັນທຶກ. ບໍ່ໄດ້ໃຊ້ - ຂໍ້ມູນເທົ່ານັ້ນ ທາງ​ເລືອກ​ມີ​ມັນ barf ສຸດ​
ການບັນທຶກການນັບຂໍ້ມູນ, ແຕ່ການນໍາໃຊ້ - ຂໍ້ມູນເທົ່ານັ້ນ ທາງ​ເລືອກ​ທີ່​ມີ​ມັນ barf ໃນ​ຫົວ​ທີ່​ຂາດ​ຫາຍ​ໄປ​
ບັນທຶກ. ການ​ນໍາ​ໃຊ້​ -disable=ການນັບຂໍ້ມູນ ທາງ​ເລືອກ​ຈະ​ເຮັດ​ໃຫ້​ການ​ບັນ​ທຶກ header intact ໃນ​ຂະ​ນະ​ທີ່​
ສະກັດກັ້ນການບັນທຶກການນັບຂໍ້ມູນ.

ຂໍ້ມູນ Headers
ໄດ້ srec_cat(1​) ຄໍາ​ສັ່ງ​ສະ​ເຫມີ​ພະ​ຍາ​ຍາມ​ທີ່​ຈະ​ຜ່ານ​ການ​ບັນ​ທຶກ​ສ່ວນ​ຫົວ​ບໍ່​ມີ​ການ​ປ່ຽນ​ແປງ​, ທຸກ​ຄັ້ງ​
ເຂົາເຈົ້າມີຢູ່. ມັນຍັງພະຍາຍາມຮັກສາພວກມັນໃນທົ່ວການປ່ຽນແປງຮູບແບບໄຟລ໌, ເຖິງຂອບເຂດຈໍາກັດ
ຮູບແບບໄຟລ໌ແມ່ນສາມາດ.

ຖ້າ​ຫາກ​ວ່າ​ບໍ່​ມີ​ການ​ບັນ​ທຶກ​ສ່ວນ​ຫົວ​ຂອງ​ໄຟລ​໌​ແລະ​ທ່ານ​ຕ້ອງ​ການ​ທີ່​ຈະ​ເພີ່ມ​ຫນຶ່ງ​, ຫຼື​ທ່ານ​ຕ້ອງ​ການ​ທີ່​ຈະ override​
ການບັນທຶກ header ໄຟລ໌ທີ່ມີຢູ່ແລ້ວ, ໃຊ້ - ຫົວ=string ທາງເລືອກ. ທ່ານຈະຈໍາເປັນຕ້ອງໄດ້ອ້າງເຖິງ
string (ເພື່ອ insulate ຈາກ shell) ຖ້າມັນມີຊ່ອງຫວ່າງຫຼື shell meta-ຕົວອັກສອນ.

ການບໍລິຫານ ເລີ່ມຕົ້ນ ທີ່ຢູ່
ໄດ້ srec_cat(1​) ຄໍາ​ສັ່ງ​ສະ​ເຫມີ​ໄປ​ພະ​ຍາ​ຍາມ​ທີ່​ຈະ​ຜ່ານ​ທີ່​ຢູ່​ເລີ່ມ​ຕົ້ນ​ການ​ປະ​ຕິ​ບັດ (ໂດຍ​ປົກ​ກະ​ຕິ​
ເກີດຂຶ້ນໃນຕອນທ້າຍຂອງໄຟລ໌), ທຸກຄັ້ງທີ່ເຂົາເຈົ້າມີຢູ່. ເຂົາເຈົ້າໄດ້ຖືກປັບຕາມ
ກັບບັນທຶກຂໍ້ມູນໂດຍ - ຊົດເຊີຍ ການກັ່ນຕອງ. ມັນຍັງພະຍາຍາມຮັກສາພວກມັນໃນທົ່ວໄຟລ໌
ການ​ປ່ຽນ​ແປງ​ຮູບ​ແບບ​, ການ​ຈໍາ​ກັດ​ຮູບ​ແບບ​ໄຟລ​໌​ແມ່ນ​ສາ​ມາດ​ຂອງ​.

ຖ້າ​ຫາກ​ວ່າ​ບໍ່​ມີ​ການ​ປະ​ຕິ​ບັດ​ການ​ບັນ​ທຶກ​ທີ່​ຢູ່​ເລີ່ມ​ຕົ້ນ​ແລະ​ທ່ານ​ຕ້ອງ​ການ​ທີ່​ຈະ​ເພີ່ມ​ຫນຶ່ງ​, ຫຼື​ທ່ານ​ຕ້ອງ​ການ​
ເພື່ອ override ບັນທຶກທີ່ຢູ່ເລີ່ມຕົ້ນຂອງການປະຕິບັດທີ່ມີຢູ່ແລ້ວ, ໃຫ້ໃຊ້ - ການ​ເລີ່ມ​ຕົ້ນ​ການ​ປະ​ຕິ​ບັດ
ທີ່ຢູ່=ຈໍານວນ ທາງເລືອກ.

ກະ​ລຸ​ນາ​ບັນ​ທຶກ​: ທີ່​ຢູ່​ເລີ່ມ​ຕົ້ນ​ການ​ປະ​ຕິ​ບັດ​ເປັນ​ແນວ​ຄວາມ​ຄິດ​ທີ່​ແຕກ​ຕ່າງ​ກັນ​ກ​່​ວາ​ທີ່​ຢູ່​ທໍາ​ອິດ​ໃນ​
ຄວາມຊົງຈໍາຂອງຂໍ້ມູນຂອງທ່ານ. ຄິດວ່າມັນເປັນທີ່ຢູ່ "goto" ທີ່ຈະໂດດໄປຫາໂດຍຕິດຕາມກວດກາໃນເວລາທີ່
ການໂຫຼດ hex ແມ່ນສໍາເລັດ. ຖ້າທ່ານຕ້ອງການປ່ຽນບ່ອນທີ່ຂໍ້ມູນຂອງທ່ານເລີ່ມຕົ້ນຢູ່ໃນຫນ່ວຍຄວາມຈໍາ, ໃຫ້ໃຊ້ປຸ່ມ
- ຊົດເຊີຍ ຕົວກອງ

ການແກ້ໄຂ ກວດສອບ
ບາງນັກພັດທະນາເຟີມແວທີ່ຝັງຢູ່ແມ່ນ saddled ກັບເຄື່ອງມື featherbrained ທີ່ຜະລິດ
checksums ທີ່ບໍ່ຖືກຕ້ອງ, ເຊິ່ງຕົວແບບທີ່ລະມັດລະວັງຫຼາຍຂອງໂປລແກລມ EPROM ຈະບໍ່ຍອມຮັບ.

ເພື່ອແກ້ໄຂ checksums ໃນໄຟລ໌, ໃຫ້ໃຊ້ - ignore-checksums ທາງເລືອກ. ຍົກ​ຕົວ​ຢ່າງ:

srec_cat break.srec -ignore-checksums -o fixed.srec

ເຊັກsums ໃນ break.srec ແມ່ນ parsed (ມັນ​ຍັງ​ແລະ​ຜິດ​ພາດ​ຖ້າ​ຫາກ​ວ່າ​ພວກ​ເຂົາ​ເຈົ້າ​ແມ່ນ​ບໍ່​ມີ​) ແຕ່​ແມ່ນ​
ບໍ່ໄດ້ກວດກາ. ຜົນໄດ້ຮັບ fixed.srec ໄຟລ໌ມີ checksums ທີ່ຖືກຕ້ອງ. ໄດ້ - ignore-checksums
ທາງເລືອກພຽງແຕ່ນໍາໃຊ້ກັບການປ້ອນຂໍ້ມູນ.

ຕົວເລືອກນີ້ອາດຈະຖືກໃຊ້ໃນທຸກຮູບແບບໄຟລ໌ທີ່ມີ checksums, ລວມທັງ Intel hex.

ຄົ້ນພົບ Mystery ຮູບແບບ
ເບິ່ງ ແມ່ນ​ຫຍັງ ຮູບແບບ Is ນີ້ບໍ? ພາກສ່ວນ, ຂ້າງລຸ່ມນີ້, ສໍາລັບວິທີການຄົ້ນພົບແລະປ່ຽນຄວາມລຶກລັບ EPROM
ໂຫຼດ​ຮູບ​ແບບ​ໄຟລ​໌​.

ໄບນາຣີ ເອກະສານ


ມັນເປັນໄປໄດ້ທີ່ຈະປ່ຽນເປັນແລະຈາກໄຟລ໌ຖານສອງ. ທ່ານຍັງສາມາດປະສົມໄຟລ໌ຄູ່ແລະ
ຮູບ​ແບບ​ອື່ນໆ​ຮ່ວມ​ກັນ​ໃນ​ອັນ​ດຽວ​ກັນ​ srec_cat(1​) ຄໍາ​ສັ່ງ​.

ລາຍລັກອັກສອນ ຖານສອງ ໄຟ
ວິ​ທີ​ທີ່​ງ່າຍ​ທີ່​ສຸດ​ຂອງ​ການ​ອ່ານ​ໄຟລ​໌ hex ແລະ​ປ່ຽນ​ມັນ​ເປັນ​ໄຟລ​໌​ຖານ​ສອງ​ເບິ່ງ​ຄື​ນີ້​:

srec_cat fred.hex -o fred.bin -binary

ນີ້ອ່ານໄຟລ໌ Motorola hex fred.srec ແລະຂຽນມັນອອກໄປຫາ fred.bin ເປັນວັດຖຸດິບ
ຖານສອງ.

ໃຫ້ສັງເກດວ່າຂໍ້ມູນຖືກຈັດໃສ່ໃນໄຟລ໌ຄູ່ຢູ່ທີ່ການຊົດເຊີຍ byte ທີ່ລະບຸໄວ້ໂດຍ
ທີ່ຢູ່ໃນໄຟລ໌ hex. ຖ້າມີຂຸມໃນຂໍ້ມູນພວກເຂົາເຕັມໄປດ້ວຍສູນ.
ນີ້ແມ່ນ, ແນ່ນອນ, ທົ່ວໄປກັບຜົນໄດ້ຮັບຂອງຕົວເຊື່ອມຕໍ່ທີ່ລະຫັດຖືກວາງໄວ້ເລີ່ມຕົ້ນທີ່ a
ສະຖານທີ່ໂດຍສະເພາະໃນຄວາມຊົງຈໍາ. ຕົວຢ່າງ, ເມື່ອເຈົ້າມີຮູບພາບເລີ່ມຕົ້ນທີ່ 0x100000,
1MB ທຳອິດຂອງໄຟລ໌ໄບນາຣີຜົນຜະລິດຈະເປັນສູນ.

ທ່ານສາມາດຍົກເລີກການຊົດເຊີຍນີ້ໂດຍອັດຕະໂນມັດໂດຍໃຊ້ຄໍາສັ່ງເຊັ່ນ

srec_cat fred.hex -offset − -minimum-addr fred.hex -o fred.bin

ຄໍາສັ່ງຂ້າງເທິງນີ້ເຮັດວຽກໂດຍການຊົດເຊີຍ fred.hex ໄຟລ໌ໃນຫນ່ວຍຄວາມຈໍາຫນ້ອຍລົງຫນ້ອຍທີ່ສຸດ
ທີ່​ຢູ່​ໃນ fred.hex ຂໍ້ມູນໄຟລ໌.

ເບິ່ງອີກ srec_binary(5) ຫນ້າຜູ້ຊາຍສໍາລັບລາຍລະອຽດເພີ່ມເຕີມ.

ອ່ານ ຖານສອງ ໄຟ
ວິ​ທີ​ທີ່​ງ່າຍ​ທີ່​ສຸດ​ຂອງ​ການ​ອ່ານ​ໄຟລ​໌​ຖານ​ສອງ​ແລະ​ການ​ປ່ຽນ​ມັນ​ເບິ່ງ​ຄື​ນີ້​

srec_cat fred.bin -binary -o fred.srec

ນີ້ອ່ານໄຟລ໌ສອງ fred.bin ແລະຂຽນຂໍ້ມູນທັງໝົດຂອງມັນກັບຄືນມາອີກຄັ້ງເປັນ
ໄຟລ໌ Motorola S-Record.

ເລື້ອຍໆ, ໄບນາຣີນີ້ບໍ່ແມ່ນບ່ອນທີ່ທ່ານຕ້ອງການຢູ່ໃນພື້ນທີ່ທີ່ຢູ່, ເພາະວ່າມັນແມ່ນ
ສົມມຸດວ່າອາໄສຢູ່ສູນ. ຖ້າທ່ານຕ້ອງການຍ້າຍມັນໄປໃຊ້ - ຊົດເຊີຍ ຕົວກອງ

srec_cat fred.bin -binary -offset 0x10000 -o fred.srec

ນອກນັ້ນທ່ານຍັງຈໍາເປັນຕ້ອງໄດ້ຫຼີກເວັ້ນການ "ຮູ" ໄຟລ໌ທີ່ເຕັມໄປດ້ວຍສູນ. ທ່ານສາມາດນໍາໃຊ້ໄດ້ - ການປູກພືດ
ການກັ່ນຕອງ, ທ່ານສາມາດນໍາໃຊ້ໄດ້ - ບໍ່ຕື່ມ ການກັ່ນຕອງຖ້າທ່ານບໍ່ຮູ້ວ່າຂໍ້ມູນນັ້ນຢູ່ໃສ.

srec_cat fred.bin -binary -unfill 0x00 512 -o fred.srec

ຄໍາສັ່ງຂ້າງເທິງນີ້ລົບການແລ່ນຂອງສູນໄບຕ໌ທີ່ມີຄວາມຍາວ 512 ໄບຕ໌ຫຼືດົນກວ່ານັ້ນ. ຖ້າເຈົ້າ
ໄຟລ໌ມີ 1GB ຂອງສູນໄບຕ໌ຊັ້ນນໍາ, ນີ້ຈະຊ້າ, ມັນອາດຈະດີກວ່າທີ່ຈະໃຊ້
ໄດ້ dd(1​) ຄໍາ​ສັ່ງ​ທີ່​ຈະ​ຊອຍ​ແລະ dice ກ່ອນ​.

ເຂົ້າຮ່ວມ ເອກະສານ TOGETHER


ໄດ້ srec_cat ຄໍາສັ່ງເອົາຊື່ຂອງມັນມາຈາກ UNIX cat(1​) ຄໍາ​ສັ່ງ​, ທີ່​ສັ້ນ​ສໍາ​ລັບ​ການ​
"catenate" ຫຼື "ເຂົ້າຮ່ວມ". ໄດ້ srec_cat ຄໍາສັ່ງເຂົ້າຮ່ວມ EPROM ໂຫລດໄຟລ໌ຮ່ວມກັນ.

ທັງຫມົດ In ຫນຶ່ງ
ການ​ເຂົ້າ​ຮ່ວມ EPROM ໂຫຼດ​ໄຟລ​໌​ເຂົ້າ​ຮ່ວມ​ກັນ​ເປັນ​ໄຟລ​໌​ດຽວ​ແມ່ນ​ງ່າຍ​ດາຍ​, ພຽງ​ແຕ່​ຕັ້ງ​ຊື່​ຫຼາຍ​ໄຟລ​໌​
ເສັ້ນຄໍາສັ່ງຕາມທີ່ທ່ານຕ້ອງການ:

srec_cat infile1 infile2 -o outfile

ຕົວຢ່າງນີ້ແມ່ນໄຟລ໌ Motorola S-Record ທັງໝົດ, ເພາະວ່ານັ້ນແມ່ນຮູບແບບເລີ່ມຕົ້ນ. ເຈົ້າ​ສາ​ມາດ
ມີຫຼາຍຮູບແບບໃນຄໍາສັ່ງດຽວ, ແລະ srec_cat(1) ຍັງຈະເຮັດວຽກ. ເຈົ້າບໍ່ແມ້ແຕ່
ຕ້ອງ​ອອກ​ຮູບ​ແບບ​ດຽວ​ກັນ​:

srec_cat infile1 - spectrum infile2 - ເນດແຮມ \
-o outfile - ສັນ​ຍາ​ລັກ​

ເຫຼົ່ານີ້ແມ່ນຮູບແບບເກົ່າແກ່ທັງຫມົດ, ແນວໃດກໍ່ຕາມມັນບໍ່ເປັນເລື່ອງແປກທີ່ຈະຕ້ອງໄດ້ປະສົມແລະຈັບຄູ່ Intel
ແລະຮູບແບບ Motorola ໃນໂຄງການດຽວ.

ການກັ່ນຕອງ ຫຼັງຈາກ ເຂົ້າຮ່ວມ
ມີເວລາທີ່ທ່ານຕ້ອງການເຂົ້າຮ່ວມສອງຊຸດຂໍ້ມູນຮ່ວມກັນ, ແລະຫຼັງຈາກນັ້ນນໍາໃຊ້ຕົວກອງ
ກັບຜົນໄດ້ຮັບທີ່ເຂົ້າຮ່ວມ. ເພື່ອເຮັດສິ່ງນີ້, ໃຊ້ວົງເລັບ.

srec_cat \
'(' \
infile - ບໍ່ລວມ 0xFFF0 0x10000 \
-ສ້າງ 0xFFF0 0xFFF8 -repeat-string 'ກ້ວຍ' \
')' \
-b-e-ຄວາມຍາວ 0xFFF8 4 \
-b-e-checksum-neg 0xFFFC 4 4 \
-o outfile

ຄໍາສັ່ງຕົວຢ່າງຂ້າງເທິງ catenates ໄຟລ໌ input (ກັບພື້ນທີ່ຂໍ້ມູນທີ່ສ້າງຂຶ້ນບໍ່ລວມ)
ດ້ວຍສາຍຄົງທີ່. ຫຼັງຈາກນັ້ນ, ວັດສະດຸປ້ອນ catenated ນີ້ຈະຖືກກັ່ນຕອງເພື່ອເພີ່ມຄວາມຍາວ 4-byte, ແລະ
checksum 4-byte.

ເຂົ້າຮ່ວມ ສິ້ນສຸດ
ເລື້ອຍໆຊ່ວງທີ່ຢູ່ໃນໄຟລ໌ໂຫລດ EPROM ຈະທັບຊ້ອນກັນ. ທ່ານຈະໄດ້ຮັບ
ຜິດພາດຖ້າພວກເຂົາເຮັດ. ຖ້າທັງສອງໄຟລ໌ເລີ່ມຕົ້ນຈາກທີ່ຢູ່ສູນ, ເພາະວ່າແຕ່ລະຄົນເຂົ້າໄປໃນ a
EPROM ແຍກຕ່າງຫາກ, ທ່ານອາດຈະຕ້ອງໃຊ້ຕົວກອງຊົດເຊີຍ:

srec_cat infile1 \
infile2 - ຊົດເຊີຍ 0x80000 \
-o outfile

ບາງ​ຄັ້ງ​ທ່ານ​ຕ້ອງ​ການ​ສອງ​ໄຟລ​໌​ປະ​ຕິ​ບັດ​ຕາມ​ເຊິ່ງ​ກັນ​ແລະ​ກັນ​ຢ່າງ​ແທ້​ຈິງ​, ແຕ່​ວ່າ​ທ່ານ​ບໍ່​ຮູ້​ວ່າ​
ຊົດເຊີຍລ່ວງໜ້າ:

srec_cat infile1 \
infile2 -offset -maximum-addr infile1 \
-o outfile

ສັງເກດເຫັນວ່າບ່ອນທີ່ເປັນຕົວເລກ (0x80000) ກ່ອນ, ປະຈຸບັນມີການຄິດໄລ່ (-maximum-.
ສິ່ງເສບຕິດ infile1). ອັນນີ້ເປັນໄປໄດ້ສ່ວນໃຫຍ່ທີ່ຕົວເລກອາດຈະຖືກນໍາໃຊ້ (ຍັງ -minimum-addr ແລະ
-range).

ການປູກພືດ ການ ຂໍ້ມູນ


ມັນເປັນໄປໄດ້ທີ່ຈະຄັດລອກໄຟລ໌ໂຫລດ EPROM, ເລືອກທີ່ຢູ່ທີ່ຈະຮັກສາແລະທີ່ຢູ່ໄປຫາ
ຖິ້ມ.

ແມ່ນ​ຫຍັງ To ໃຫ້ເກັບຮັກສາ
ກິດຈະກໍາທົ່ວໄປແມ່ນການຕັດຂໍ້ມູນຂອງທ່ານໃຫ້ກົງກັບສະຖານທີ່ EPROM ຂອງທ່ານ. ຕົວເຊື່ອມຕໍ່ຂອງທ່ານອາດຈະເພີ່ມ
ຂີ້ເຫຍື້ອອື່ນໆທີ່ເຈົ້າບໍ່ສົນໃຈ, ຕົວຢ່າງ: ທີ່ຕັ້ງ RAM. ໃນຕົວຢ່າງນີ້,
ມີ 1MB EPROM ຢູ່ເຂດແດນ 2MB:

srec_cat infile - ການປູກພືດ 0x200000 0x300000 \
-o outfile

ຂອບເຂດຕ່ໍາສໍາລັບຂອບເຂດທີ່ຢູ່ທັງຫມົດແມ່ນລວມ, ຂອບເຂດເທິງແມ່ນສະເພາະ. ຖ້າ​ເຈົ້າ
ລົບພວກມັນ, ທ່ານໄດ້ຮັບຈໍານວນ bytes.

ທີ່ຢູ່ Offset
ພຽງແຕ່ເປັນໄປໄດ້, ທ່ານມີໂປລແກລມ EPROM ຂີ້ຮ້າຍ, ແລະມັນ barfs ຖ້າຮູບພາບ EPROM
ບໍ່ໄດ້ເລີ່ມຕົ້ນທີ່ສູນ. ເພື່ອຊອກຮູ້ວ່າຢູ່ໃສ ບໍ່ ເລີ່ມ​ຕົ້ນ​ໃນ​ຄວາມ​ຊົງ​ຈໍາ​, ການ​ນໍາ​ໃຊ້​
srec_info(1​) ຄໍາ​ສັ່ງ​:

$ srec_info example.srec
ຮູບແບບ: Motorola S-Record
ສ່ວນຫົວ: extra-whiz tool chain linker
ທີ່ຢູ່ເລີ່ມຕົ້ນຂອງການປະຕິບັດ: 0x00200000
ຂໍ້ມູນ: 0x200000 - 0x32AAEF
$

ແທນທີ່ຈະເອົາໄຟລ໌ຄໍາສັ່ງຂອງຕົວເຊື່ອມຕໍ່, ພຽງແຕ່ຊົດເຊີຍທີ່ຢູ່:

srec_cat infile - ການປູກພືດ 0x200000 0x300000 -offset −0x200000 \
-o outfile

ໃຫ້ສັງເກດວ່າການຊົດເຊີຍທີ່ໃຫ້ແມ່ນ ກະທົບທາງລົບ, ມັນມີຜົນກະທົບຂອງການລົບມູນຄ່ານັ້ນຈາກ
ທີ່​ຢູ່​ທັງ​ຫມົດ​ໃນ​ບັນ​ທຶກ​ການ​ປ້ອນ​ຂໍ້​ມູນ​, ເພື່ອ​ປະ​ກອບ​ເປັນ​ທີ່​ຢູ່​ການ​ບັນ​ທຶກ​ຜົນ​ຜະ​ລິດ​ໄດ້​. ໃນ​ກໍ​ລະ​ນີ​ນີ້,
ການ​ປ່ຽນ​ຮູບ​ພາບ​ກັບ​ຄືນ​ໄປ​ບ່ອນ​ສູນ​.

ຕົວຢ່າງນີ້ຍັງສະແດງໃຫ້ເຫັນວິທີການການກັ່ນຕອງການປ້ອນຂໍ້ມູນອາດຈະຖືກຕ່ອງໂສ້ເຂົ້າກັນ: ທໍາອິດ
ການປູກພືດແລະຫຼັງຈາກນັ້ນຊົດເຊີຍ, ທັງຫມົດໃນຫນຶ່ງຄໍາສັ່ງ, ໂດຍບໍ່ມີການຕ້ອງການສໍາລັບໄຟລ໌ຊົ່ວຄາວ.

ຖ້າ​ຫາກ​ວ່າ​ທັງ​ຫມົດ​ທີ່​ທ່ານ​ຕ້ອງ​ການ​ຈະ​ເຮັດ​ແມ່ນ​ການ​ຊົດ​ເຊີຍ​ຂໍ້​ມູນ​ທີ່​ຈະ​ເລີ່ມ​ຕົ້ນ​ຈາກ​ທີ່​ຢູ່​ສູນ​, ນີ້​ສາ​ມາດ​ເປັນ​
ອັດຕະໂນມັດ, ດັ່ງນັ້ນທ່ານບໍ່ຈໍາເປັນຕ້ອງຮູ້ທີ່ຢູ່ຂັ້ນຕ່ໍາລ່ວງຫນ້າ, ໂດຍການນໍາໃຊ້ srec_cat's
ຄວາມສາມາດໃນການຄິດໄລ່ບາງຢ່າງໃນເສັ້ນຄໍາສັ່ງ:

srec_cat infile -offset - -ຕໍາ​່​ສຸດ​ທີ່ -addr infile \
-o outfile

ໃຫ້ສັງເກດຊ່ອງຫວ່າງທັງສອງຂ້າງຂອງເຄື່ອງໝາຍລົບ, ພວກມັນຈຳເປັນ.

ແມ່ນ​ຫຍັງ To ຖິ້ມ ທັນທີ
ມີບາງຄັ້ງທີ່ທ່ານຈໍາເປັນຕ້ອງຍົກເວັ້ນຂອບເຂດທີ່ຢູ່ນ້ອຍໆຈາກໄຟລ໌ໂຫລດ EPROM,
ແທນທີ່ຈະຕ້ອງການຮັກສາຂອບເຂດທີ່ຢູ່ນ້ອຍໆ. ໄດ້ - ຍົກ​ເວັ້ນ​ ການກັ່ນຕອງອາດຈະຖືກນໍາໃຊ້ສໍາລັບ
ຈຸດປະສົງນີ້.

ຕົວຢ່າງ, ຖ້າທ່ານຕ້ອງການຍົກເວັ້ນຂອບເຂດທີ່ຢູ່ບ່ອນທີ່ຫມາຍເລກລໍາດັບຂອງ an
ອຸປະກອນຝັງຖືກເກັບຮັກສາໄວ້, ເວົ້າວ່າ 0x20 bytes ຢູ່ 0x100, ທ່ານຈະໃຊ້ຄໍາສັ່ງເຊັ່ນນີ້:

srec_cat input.srec -ຍົກເວັ້ນ 0x100 0x120 -o output.srec

ໄດ້ output.srec ໄຟລ໌ຈະມີຮູຢູ່ໃນຂໍ້ມູນໃນສະຖານທີ່ທີ່ຈໍາເປັນ.

ໃຫ້ສັງເກດວ່າທ່ານສາມາດມີທັງສອງ - ການປູກພືດ ແລະ - ຍົກ​ເວັ້ນ​ ໃນເສັ້ນຄໍາສັ່ງດຽວກັນ, ອັນໃດກໍ່ຕາມທີ່ເຮັດວຽກ
ຫຼາຍທໍາມະຊາດສໍາລັບສະຖານະການຂອງທ່ານ.

ການຢຸດເຊົາການ ທີ່ຢູ່ ຊ່ວງ
ຊ່ວງທີ່ຢູ່ບໍ່ຈຳເປັນຕ້ອງເປັນໄລຍະດຽວ, ທ່ານສາມາດສ້າງຊ່ວງທີ່ຢູ່ໄດ້ໂດຍໃຊ້
ຫຼາຍກ່ວາຄູ່ດຽວ.

srec_cat infile - ການປູກພືດ 0x100 0x200 0x1000 0x1200 \
-o outfile

ການກັ່ນຕອງນີ້ສົ່ງຜົນໃຫ້ຂໍ້ມູນຈາກ 0x100..0x1FF ແລະຂໍ້ມູນຈາກ 0x1000..0x1200 ຜ່ານໄປ.
ໂດຍຜ່ານ, ສ່ວນທີ່ເຫຼືອແມ່ນຫຼຸດລົງ. ນີ້ແມ່ນປະສິດທິພາບຫຼາຍກ່ວາລະບົບຕ່ອງໂສ້ a - ການປູກພືດ ແລະຫນຶ່ງ
- ຍົກ​ເວັ້ນ​ ການກັ່ນຕອງຮ່ວມກັນ.

ຍ້າຍ ສິ່ງ​ຂອງ ອ້ອມຂ້າງ


ມັນຍັງເປັນໄປໄດ້ທີ່ຈະປ່ຽນທີ່ຢູ່ຂອງບັນທຶກຂໍ້ມູນ, ທັງດ້ານຫນ້າແລະດ້ານຫລັງ.
ມັນຍັງສາມາດຈັດລຽງຄືນບ່ອນທີ່ບັນທຶກຂໍ້ມູນຖືກວາງໄວ້ໃນຫນ່ວຍຄວາມຈໍາ.

Offset ການ​ກັ່ນ​ຕອງ
ໄດ້ -offset=ຈໍານວນ ການກັ່ນຕອງດໍາເນີນການກ່ຽວກັບທີ່ຢູ່ຂອງບັນທຶກ. ຖ້າຕົວເລກເປັນບວກ
ທີ່ຢູ່ຍ້າຍທີ່ຫຼາຍ bytes ສູງຂຶ້ນໃນຫນ່ວຍຄວາມຈໍາ, ຄ່າລົບຍ້າຍຕ່ໍາ.

srec_cat infile - ການປູກພືດ 0x200000 0x300000 -offset −0x200000 \
-o outfile

ຕົວຢ່າງຂ້າງເທິງນີ້ຍ້າຍບລັອກ 1MB ຂອງຂໍ້ມູນຢູ່ທີ່ 0x200000 ລົງໄປຫາສູນ (ການຊົດເຊີຍແມ່ນ
ກະທົບທາງລົບ) ແລະຍົກເລີກຂໍ້ມູນສ່ວນທີ່ເຫຼືອ.

ໄບຕ໌ ແລກປ່ຽນປະສົບ
ມີບາງຄັ້ງທີ່ໄບຕ໌ໃນຂໍ້ມູນຕ້ອງຖືກແລກປ່ຽນ, ປ່ຽນລະຫວ່າງໃຫຍ່-
ປົກກະຕິແລ້ວຂໍ້ມູນ endian ແລະ little-endian.

srec_cat infile -byte-swap 4 -o outfile

ອັນນີ້ປີ້ນກັບ bytes ໃນຄ່າ 32 bit (4 bytes). ຄ່າເລີ່ມຕົ້ນ, ຖ້າທ່ານບໍ່ສະຫນອງຄວາມກວ້າງ,
ແມ່ນການປີ້ນ bytes ໃນຄ່າ 16 bit (2 bytes). ທ່ານ​ສາ​ມາດ​ນໍາ​ໃຊ້​ທີ່​ແທ້​ຈິງ​ຄຸນ​ຄ່າ weird ໃດ
ເຊັ່ນວ່າ, ມັນບໍ່ຈໍາເປັນຕ້ອງເປັນພະລັງງານຂອງ 2. ບາງທີ 64 bits (8 bytes) ອາດຈະເປັນປະໂຫຍດ.
ມື້​ຫນຶ່ງ.

ຖານສອງ ຜົນຜະລິດ
ທ່ານຈໍາເປັນຕ້ອງໄດ້ສັງເກດເບິ່ງອອກສໍາລັບໄຟລ໌ຖານສອງໃນຜົນຜະລິດ, ເນື່ອງຈາກວ່າຂຸມແມ່ນເຕັມໄປດ້ວຍສູນ.
ໂປລແກລມ 100kB ຂອງທ່ານຢູ່ເທິງສຸດຂອງຫນ່ວຍຄວາມຈໍາ 32-bit ຈະເຮັດໃຫ້ໄຟລ໌ 4GB. ເບິ່ງ
srec_binary(5) ສໍາລັບວິທີການເຂົ້າໃຈແລະຫຼີກເວັ້ນບັນຫານີ້, ປົກກະຕິແລ້ວກັບ - ຊົດເຊີຍ ຕົວກອງ

ການແບ່ງປັນ an ຮູບພາບ
ຖ້າທ່ານມີລົດເມຂໍ້ມູນ 16-bit, ແຕ່ທ່ານກໍາລັງໃຊ້ EPROM ສອງ 8-bit ເພື່ອຖືເຟີມແວຂອງທ່ານ,
ທ່ານ​ສາ​ມາດ​ສ້າງ​ຮູບ​ພາບ​ຄູ່​ແລະ​ຄີກ​ໂດຍ​ການ​ນໍາ​ໃຊ້​ -SPlit ການກັ່ນຕອງ. ສົມມຸດວ່າຂອງເຈົ້າ
firmware ແມ່ນຢູ່ໃນ firmware.hex ໄຟລ໌, ໃຊ້ດັ່ງຕໍ່ໄປນີ້:

srec_cat firmware.hex -split 2 0 -o firmware.even.hex
srec_cat firmware.hex -split 2 1 -o firmware.odd.hex

ນີ້ຈະສົ່ງຜົນໃຫ້ທັງສອງຮູບພາບ EPROM ທີ່ຈໍາເປັນ. ໃຫ້ສັງເກດວ່າທີ່ຢູ່ຜົນຜະລິດແມ່ນ
ແບ່ງອອກໂດຍການແບ່ງປັນຫຼາຍ, ດັ່ງນັ້ນຖ້າຮູບພາບ EPROM ຂອງເຈົ້າຢູ່ໃນການຊົດເຊີຍສະເພາະ (ເວົ້າ
0x10000, ໃນຕົວຢ່າງຕໍ່ໄປນີ້), ທ່ານຈໍາເປັນຕ້ອງເອົາ offset, ແລະຫຼັງຈາກນັ້ນທົດແທນມັນ ...

srec_cat firmware.hex \
-offset −0x10000 -ແຍກ 2 0 \
-offset 0x10000 -o firmware.even.hex
srec_cat firmware.hex \
-offset −0x10000 -ແຍກ 2 1 \
-offset 0x10000 -o firmware.odd.hex

ໃຫ້ສັງເກດວ່າຄວາມສາມາດໃນການນໍາໃຊ້ຕົວກອງຫຼາຍເຮັດໃຫ້ງ່າຍໃນສິ່ງທີ່ຖ້າບໍ່ດັ່ງນັ້ນຈະມີຫຼາຍ
script ທີ່ຍາວກວ່າ.

ລອກ
ການ​ນໍາ​ໃຊ້​ຄັ້ງ​ທີ​ສອງ​ສໍາ​ລັບ​ການ​ -SPlit ການກັ່ນຕອງແມ່ນແຖບຄວາມຊົງຈໍາ.

ທ່ານບໍ່ ຈຳ ເປັນຕ້ອງແບ່ງອອກເປັນຂະ ໜາດ ກວ້າງ, ທ່ານສາມາດເລືອກຂະ ໜາດ ອື່ນໆໄດ້. ມັນເປັນເລື່ອງທົ່ວໄປທີ່ຈະ
ຕ້ອງການປ່ຽນຂໍ້ມູນກວ້າງ 32-ບິດເປັນສອງຊຸດຂອງຂໍ້ມູນກວ້າງ 16-ບິດ.

srec_cat firmware.hex -split 4 0 2 -o firmware.01.hex
srec_cat firmware.hex -split 4 2 2 -o firmware.23.hex

ນີ້ແມ່ນຂ້ອນຂ້າງເຂົ້າໃຈງ່າຍ, ແຕ່ທ່ານສາມາດນໍາໃຊ້ເສັ້ນດ່າງກວ້າງກວ່າ.

ໃນຕົວຢ່າງຕໍ່ໄປນີ້, ຮາດແວຮຽກຮ້ອງໃຫ້ບລັອກ 512-byte ສະລັບກັນລະຫວ່າງ 4
EPROMs. ການ​ສ້າງ 4 ຮູບ​ພາບ​ຈະ​ເຮັດ​ໄດ້​ດັ່ງ​ຕໍ່​ໄປ​ນີ້​:

srec_cat firmware.hex -split 0x800 0x000 0x200 -o firmware.0.hex
srec_cat firmware.hex -split 0x800 0x200 0x200 -o firmware.1.hex
srec_cat firmware.hex -split 0x800 0x400 0x200 -o firmware.2.hex
srec_cat firmware.hex -split 0x800 0x600 0x200 -o firmware.3.hex

Asymmetric ລອກ
ຕົວຢ່າງທີ່ແປກປະຫຼາດກວ່າຂອງການລອກລອກແມ່ນ microcontroller Microchip dsPIC33F, ທີ່ມີ
ຮູບ​ແບບ​ການ​ເກັບ​ຮັກ​ສາ​ຄວາມ​ຊົງ​ຈໍາ weird ແລະ​ພວກ​ເຂົາ​ເຈົ້າ​ສາ​ມາດ​ເກັບ​ຮັກ​ສາ 3 bytes ໃນ​ທີ່​ຢູ່​ທີ່​ຄວນ​ຈະ​
ມີພຽງ 2 bytes. ຜົນໄດ້ຮັບແມ່ນໄຟລ໌ hex ທີ່ມີສູນເຕັມ byte ເທິງ (ພຽງເລັກນ້ອຍ
endian), ແລະທີ່ຢູ່ທັງຫມົດແມ່ນເພີ່ມຂຶ້ນສອງເທົ່າຈາກສິ່ງທີ່ພວກເຂົາຢູ່ໃນຊິບ. ນີ້ແມ່ນ
ຍົກຕົວຢ່າງ:

S1130000000102000405060008090A000C0D0E0098
S1130010101112001415160018191A001C1D1E00C8
S1130020202122002425260028292A002C2D2E00F8
S1130030303132003435360038393A003C3D3E0028

ເພື່ອກໍາຈັດ 00 padding bytes, ໃຫ້ພຽງແຕ່ 3/4 bytes ທີ່ສໍາຄັນ, ທ່ານຍັງໃຊ້
ການ​ກັ່ນ​ຕອງ​ແບ່ງ​ປັນ​, ມີ​ການ​ເພີ່ມ​ເຕີມ​ຂອງ​ຕົນ​ width ການໂຕ້ຖຽງ, ເຊັ່ນນີ້:

srec_cat example.srec -split 4 0 3 -o no_dross.srec

ອັນນີ້ເຮັດໃຫ້ໄຟລ໌ທີ່ມີ 00 padding bytes ຖືກລຶບອອກ. ມັນເບິ່ງຄືວ່ານີ້:

S113000000010204050608090A0C0D0E1011121451
S1130010151618191A1C1D1E2021222425262829EC
S11300202A2C2D2E30313234353638393A3C3D3E87

ສັງເກດວິທີການທີ່ຢູ່ 3/4 ຂະຫນາດ, ເຊັ່ນດຽວກັນ. ທ່ານສາມາດ reverse ນີ້ໂດຍໃຊ້
- ບໍ່​ແບ່ງ​ປັນ​ ແລະ -fill=0 ຕົວກອງ

ການແຍກ ຮູບພາບ
ການກັ່ນຕອງ unsplit ອາດຈະຖືກນໍາໃຊ້ເພື່ອກັບຄືນຜົນກະທົບຂອງການກັ່ນຕອງແຍກ. ໃຫ້ສັງເກດວ່າ
ໄລຍະທີ່ຢູ່ໄດ້ຖືກຂະຫຍາຍອອກໂດຍເຮັດໃຫ້ຮູລະຫວ່າງເສັ້ນດ່າງ. ໂດຍ​ການ​ນໍາ​ໃຊ້​ເສັ້ນ​ດ່າງ​ທັງ​ຫມົດ​,
ວັດສະດຸປ້ອນທີ່ສົມບູນໄດ້ຖືກປະກອບຄືນໃໝ່, ໂດຍບໍ່ມີຮູ.

srec_cat -o firmware.hex \
firmware.even.hex -unsplit 2 0 \
firmware.odd.hex -unsplit 2 1

ຕົວຢ່າງຂ້າງເທິງນີ້ກົງກັນຂ້າມກັບຕົວຢ່າງລົດເມຂໍ້ມູນ 16-bit ທີ່ຜ່ານມາ. ໂດຍທົ່ວໄປ, ທ່ານ unsplit
ກັບຕົວກໍານົດການດຽວກັນທີ່ທ່ານແບ່ງປັນກັບ.

FILLING ການ ບລັອກ


ເລື້ອຍໆໄຟລ໌ໂຫລດ EPROM ຈະມີ "ຮູ" ຢູ່ໃນພວກມັນ, ບ່ອນທີ່ລວບລວມແລະຕົວເຊື່ອມຕໍ່ເຮັດ
ບໍ່ໃສ່ຫຍັງ. ສໍາ​ລັບ​ຈຸດ​ປະ​ສົງ​ບາງ​ຢ່າງ​ນີ້​ແມ່ນ OK​, ແລະ​ສໍາ​ລັບ​ຈຸດ​ປະ​ສົງ​ອື່ນໆ​ບາງ​ສິ່ງ​ບາງ​ຢ່າງ​ຕ້ອງ​
ຈະເຮັດໄດ້ກ່ຽວກັບຂຸມ.

ໄດ້ ຕື່ມຂໍ້ມູນໃສ່ ການ​ກັ່ນ​ຕອງ
ມັນເປັນໄປໄດ້ທີ່ຈະຕື່ມຂໍ້ມູນໃສ່ຊ່ອງຫວ່າງທີ່ຂໍ້ມູນຂອງທ່ານບໍ່ໄດ້ນອນ. ຕົວຢ່າງທີ່ງ່າຍດາຍທີ່ສຸດຂອງ
ນີ້ຕື່ມຂໍ້ມູນໃສ່ EPROM ທັງໝົດ:

srec_cat infile -ຕື່ມ 0x00 0x200000 0x300000 -o outfile

ຕົວຢ່າງນີ້ຕື່ມຂໍ້ມູນໃສ່ຂຸມ, ຖ້າມີ, ມີສູນ. ທ່ານຕ້ອງລະບຸຂອບເຂດ - ກັບ a
ພື້ນທີ່ທີ່ຢູ່ 32-bit, ຕື່ມຂໍ້ມູນທຸກຢ່າງທີ່ສ້າງ huge ໂຫຼດໄຟລ໌.

ຖ້າທ່ານຕ້ອງການຕື່ມຊ່ອງຫວ່າງໃນຂໍ້ມູນຂອງທ່ານ, ແລະບໍ່ຕ້ອງການຕື່ມຂໍ້ມູນ EPROM ທັງຫມົດ,
ລອງ:

srec_cat infile -ຕື່ມ 0x00 -over infile -o outfile

ຕົວຢ່າງນີ້ສະແດງໃຫ້ເຫັນເຖິງຄວາມຈິງທີ່ວ່າບ່ອນໃດກໍ່ຕາມຂອບເຂດທີ່ຢູ່ອາດຈະຖືກລະບຸ, the
- ເກີນ ແລະ - ພາຍໃນ ທາງເລືອກອາດຈະຖືກນໍາໃຊ້.

ບໍ່ໄດ້ຕື່ມ ໄດ້ ເປົ່າຫວ່າງ
ມັນເປັນເລື່ອງປົກກະຕິທີ່ຈະຕ້ອງ "ບໍ່ຕື່ມ" ຮູບພາບ EPROM ຫຼັງຈາກທີ່ທ່ານອ່ານມັນອອກຈາກຊິບ. ປົກກະຕິແລ້ວ,
ມັນຈະມີຂຸມທັງຫມົດເຕັມໄປດ້ວຍ 0xFF (ພື້ນທີ່ຂອງ EPROM ທີ່ທ່ານບໍ່ໄດ້ສະແດງໂຄງການ.
ເປັນ 0xFF ເມື່ອທ່ານອ່ານພວກມັນຄືນ).

ເພື່ອກໍາຈັດທຸກ 0xFF bytes ໃນຂໍ້ມູນ, ໃຊ້ຕົວກອງນີ້:

srec_cat infile -unfil 0xFF -o outfile

ນີ້ຈະກໍາຈັດ ທັງຫມົດ 0xFF bytes, ລວມທັງອັນທີ່ເຈົ້າຕ້ອງການຢູ່ໃນນັ້ນ.
ມີສອງວິທີທີ່ຈະຈັດການກັບເລື່ອງນີ້. ກ່ອນອື່ນ ໝົດ, ທ່ານສາມາດ ກຳ ນົດຄວາມຍາວຂອງການແລ່ນຕໍ່າສຸດເພື່ອ
ຍົກເລີກການຕື່ມ:

srec_cat infile -unfil 0xFF 5 -o outfile

ນີ້ບອກວ່າການແລ່ນ 1 ຫາ 4 ໄບຕ໌ຂອງ 0xFF ແມ່ນ OK, ແລະວ່າຄວນສ້າງຂຸມເທົ່ານັ້ນ.
ສໍາລັບການແລ່ນ 5 ຫຼືຫຼາຍກວ່າ 0xFF bytes ຕິດຕໍ່ກັນ. ວິທີທີສອງແມ່ນການຕື່ມຂໍ້ມູນໃສ່
ຊ່ອງ​ຫວ່າງ​ລະ​ຫວ່າງ​ກາງ​:

srec_cat outfile - ຕື່ມ 0xFF -over outfile \
-o outfile2

ວິທີທີ່ທ່ານເລືອກແມ່ນຂຶ້ນກັບຄວາມຕ້ອງການຂອງທ່ານ, ແລະຮູບຮ່າງຂອງຂໍ້ມູນໃນ EPROM ຂອງທ່ານ.
ທ່ານອາດຈະຈໍາເປັນຕ້ອງໄດ້ສົມທົບທັງສອງເຕັກນິກ.

ທີ່ຢູ່ ລະດັບ ແຜ່ນຮອງ
ບາງຮູບແບບຂໍ້ມູນມີຄວາມກວ້າງ 16 ບິດ, ແລະຕື່ມຂໍ້ມູນດ້ວຍ 0xFF bytes ໂດຍອັດຕະໂນມັດຖ້າມັນເປັນ
ມີຄວາມຈໍາເປັນເພື່ອຕື່ມຂໍ້ມູນໃສ່ເຄິ່ງຫນຶ່ງຂອງຄໍາທີ່ບໍ່ມີຢູ່ໃນຂໍ້ມູນ. ຖ້າທ່ານຕ້ອງການ
ຕື່ມມູນຄ່າທີ່ແຕກຕ່າງກັນ, ທ່ານສາມາດນໍາໃຊ້ຄໍາສັ່ງເຊັ່ນນີ້:

srec_cat infile - ຕື່ມ 0x0A \
- ພາຍໃນ infile -range-padding 2 \
-o outfile

ນີ້ເຮັດໃຫ້ການກັ່ນຕອງການຕື່ມຂອບເຂດທີ່ຢູ່ຄໍານວນຈາກລາຍລະອຽດຂອງໄຟລ໌ປ້ອນຂໍ້ມູນ.
ຊ່ວງທີ່ຢູ່ແມ່ນຂອບເຂດທີ່ຢູ່ທັງໝົດທີ່ກວມເອົາໂດຍຂໍ້ມູນໃນ infile, ຂະຫຍາຍ
ລົງລຸ່ມ (ຖ້າຈໍາເປັນ) ໃນຕອນເລີ່ມຕົ້ນຂອງແຕ່ລະໄລຍະຍ່ອຍເປັນ 2 byte ຫຼາຍແລະຂະຫຍາຍ
ຂຶ້ນໄປ (ຖ້າຈໍາເປັນ) ໃນຕອນທ້າຍຂອງແຕ່ລະໄລຍະຍ່ອຍໄປຫາຫຼາຍ 2 byte. ນີ້ຍັງເຮັດວຽກ
ສໍາລັບການຄູນຂະຫນາດໃຫຍ່, ເຊັ່ນ: ຂອບເຂດຫນ້າ 1kB ຂອງຊິບແຟດ. ໄລຍະທີ່ຢູ່ນີ້ padding
ເຮັດວຽກຢູ່ບ່ອນໃດກໍໄດ້ທີ່ຕ້ອງການຂອບເຂດທີ່ຢູ່.

ຕື່ມຂໍ້ມູນໃສ່ ກັບ ລິຂະສິດ
ມັນເປັນໄປໄດ້ທີ່ຈະຕື່ມຂໍ້ມູນທີ່ບໍ່ໄດ້ໃຊ້ຂອງ EPROM ຂອງທ່ານດ້ວຍຂໍ້ຄວາມລິຂະສິດທີ່ຊ້ໍາກັນ.
ທຸກຄົນທີ່ພະຍາຍາມປີ້ນກັບວິສະວະກອນ EPROMs ຂອງເຈົ້າແມ່ນຈະເຫັນແຈ້ງການລິຂະສິດໃນ
ບັນນາທິການ hex ຂອງພວກເຂົາ.

ນີ້ແມ່ນສໍາເລັດດ້ວຍສອງແຫຼ່ງປ້ອນຂໍ້ມູນ, ຫນຶ່ງຈາກໄຟລ໌ຂໍ້ມູນ, ແລະຫນຶ່ງທີ່ເປັນ
ສ້າງ​ຂຶ້ນ​ໃນ​ການ​ບິນ​.

srec_cat infile \
-generate '(' 0 0x100000 -minus -within infile ')' \
-repeat-string 'ລິຂະສິດ (C) 1812 Tchaikovsky. ' \
-o outfile

ສັງເກດເຫັນໄລຍະທີ່ຢູ່ສໍາລັບການຜະລິດຂໍ້ມູນ: ມັນໃຊ້ເວລາໄລຍະທີ່ຢູ່ຂອງເຈົ້າ
EPROM, ໃນ​ກໍ​ລະ​ນີ​ນີ້ 1MB ເລີ່ມ​ຈາກ 0, ແລະ​ລົບ​ຈາກ​ມັນ​ລະ​ດັບ​ທີ່​ຢູ່​ທີ່​ໃຊ້​ໂດຍ
ໄຟລ໌ປ້ອນຂໍ້ມູນ.

ຖ້າ​ຫາກ​ວ່າ​ທ່ານ​ຕ້ອງ​ການ​ທີ່​ຈະ​ສະ​ບັບ​ນີ້​ກັບ​ປີ​ປະ​ຈຸ​ບັນ (ເນື່ອງ​ຈາກ​ວ່າ 1812 ລ້າ​ສະ​ໄຫມ​ເລັກ​ນ້ອຍ​) ໃຫ້​ນໍາ​ໃຊ້
ການທົດແທນຜົນຜະລິດຂອງແກະ (ຫມາຍຕິກກັບຄືນ) ຄວາມສາມາດ:

srec_cat infile \
-generate '(' 0 0x100000 -minus -within infile ')' \
-repeat-string "ລິຂະສິດ (C) `date +%Y` Tchaikovsky." \
-o outfile

ສະຕຣິງທີ່ລະບຸໄວ້ແມ່ນເຮັດຊ້ໍາອີກຄັ້ງ, ຈົນກວ່າມັນຈະເຕັມຂຸມທັງຫມົດ.

ສັບສົນ ກັບ ສຽງ
ບາງຄັ້ງທ່ານຕ້ອງການຕື່ມຮູບພາບ EPROM ຂອງທ່ານດ້ວຍສິ່ງລົບກວນ, ເພື່ອປົກປິດບ່ອນທີ່ຂໍ້ມູນທີ່ແທ້ຈິງ
ຢຸດແລະເລີ່ມຕົ້ນ. ທ່ານສາມາດເຮັດສິ່ງນີ້ໄດ້ກັບ - ການ​ຕື່ມ​ຂໍ້​ມູນ​ແບບ​ສຸ່ມ​ ຕົວກອງ

srec_cat infile - ຕື່ມຂໍ້ມູນແບບສຸ່ມ 0x200000 0x300000 \
-o outfile

ມັນເຮັດວຽກຄືກັນກັບ -ຕື່ມ ການກັ່ນຕອງ, ແຕ່ໃຊ້ຕົວເລກສຸ່ມແທນທີ່ຈະເປັນ byte ຄົງທີ່
ມູນຄ່າ.

ຕື່ມຂໍ້ມູນໃສ່ ກັບ 16-ບິດ ຄໍາສັບຕ່າງໆ
ເມື່ອຕື່ມຮູບພາບດ້ວຍຄ່າຄົງທີ່ byte ບໍ່ເຮັດວຽກ, ແລະທ່ານຕ້ອງການຄົງທີ່
ຄ່າ 16-bit ແທນ, ໃຊ້ - ຊ້ຳ​ຄືນ​ຂໍ້​ມູນ​ generator, ເຊິ່ງໃຊ້ເວລາເປັນ arbitrarily ຍາວ
ລໍາດັບຂອງ bytes ເພື່ອໃຊ້ເປັນຮູບແບບການຕື່ມ:

srec_cat infile \
-generator '(' 0x200000 0x300000 -ລົບ -ພາຍໃນ infile ')' \
- ຂໍ້ມູນຊ້ຳຄືນ 0x1B 0x08 \
-o outfile

ສັງເກດເຫັນວ່າໄລຍະທີ່ຢູ່ຂອງເຄື່ອງກໍາເນີດໄຟຟ້າອີກເທື່ອຫນຶ່ງຫລີກລ້ຽງຂອບເຂດທີ່ຢູ່ທີ່ຖືກຄອບຄອງໂດຍ
ໄດ້ infileຂໍ້​ມູນ​ຂອງ​. ທ່ານ​ຕ້ອງ​ໄດ້​ຮັບ endian-ness ຖືກ​ຕ້ອງ​ຕົວ​ທ່ານ​ເອງ.

ການແຊກໃສ່ ໝັ້ນ ຄົງ ຂໍ້ມູນ


ຈາກເວລາໃດຫນຶ່ງທີ່ທ່ານຈະຕ້ອງການທີ່ຈະໃສ່ຂໍ້ມູນຄົງທີ່, ຫຼືຂໍ້ມູນທີ່ບໍ່ໄດ້ຜະລິດໂດຍຂອງທ່ານ
compiler ຫຼື assembler, ເຂົ້າໄປໃນຮູບພາບການໂຫຼດ EPROM ຂອງທ່ານ.

ຖານສອງ ຫມາຍຄວາມວ່າ ຮູ້ຫນັງສື
ວິ​ທີ​ທີ່​ງ່າຍ​ດາຍ​ຫນຶ່ງ​ແມ່ນ​ມີ​ຂໍ້​ມູນ​ທີ່​ຕ້ອງ​ການ​ໃນ​ໄຟລ​໌​. ເພື່ອໃສ່ໄຟລ໌
ເນື້ອໃນທີ່ຮູ້ຫນັງສື, ໂດຍບໍ່ມີການຕີຄວາມຫມາຍຮູບແບບ, ໃຊ້ binary ຮູບແບບການປ້ອນຂໍ້ມູນ:

srec_cat infile -binary -o outfile

ມັນອາດຈະເປັນສິ່ງທີ່ຈໍາເປັນທີ່ຈະໃຊ້ ຊົດເຊີຍ ການກັ່ນຕອງເພື່ອຍ້າຍຂໍ້ມູນໄປບ່ອນທີ່ທ່ານ
ຕົວຈິງແລ້ວຕ້ອງການມັນຢູ່ໃນຮູບພາບ:

srec_cat infile -binary -offset 0x1234 -o outfile

ມັນຍັງເປັນໄປໄດ້ທີ່ຈະໃຊ້ວັດສະດຸປ້ອນມາດຕະຖານເປັນແຫຼ່ງຂໍ້ມູນ, ເຊິ່ງໃຫ້ຕົວເອງ
ກຳລັງຂຽນບົດ. ຕົວຢ່າງ, ເພື່ອໃສ່ວັນທີແລະເວລາປະຈຸບັນເຂົ້າໄປໃນໄຟລ໌ໂຫລດ EPROM,
ທ່ານສາມາດນໍາໃຊ້ທໍ່:

ວັນທີ | srec_cat - -bin -offset 0xFFE3 -o outfile

ຊື່ໄຟລ໌ພິເສດ “-” ຫມາຍເຖິງການອ່ານຈາກວັດສະດຸປ້ອນມາດຕະຖານ. ຜົນຜະລິດຂອງ ວັນ
ຄໍາ​ສັ່ງ​ແມ່ນ​ສະ​ເຫມີ​ໄປ​ມີ​ຄວາມ​ຍາວ 29 ຕົວ​ອັກ​ສອນ​, ແລະ​ການ​ຊົດ​ເຊີຍ​ທີ່​ສະ​ແດງ​ໃຫ້​ເຫັນ​ຈະ​ວາງ​ໄວ້​ເທິງ​ຂອງ a​
ຮູບ 64KB EPROM.

ຊ້ ຳ ເມື່ອໃດທີ່
ໄດ້ ຕື່ມຂໍ້ມູນໃສ່ ກັບ ລິຂະສິດ ພາກສ່ວນ, ຂ້າງເທິງ, ສະແດງວິທີການເຮັດເລື້ມຄືນ string ເລື້ອຍໆ. ພວກເຮົາ
ສາ​ມາດ​ໃຊ້​ການ​ຊ​້​ໍາ​ດຽວ​ເພື່ອ​ໃສ່​ສະ​ຕ​ຣິງ​ພຽງ​ແຕ່​ຄັ້ງ​ດຽວ​.

srec_cat -ສ້າງ 0xFFE3 0x10000 -repeat-string "`date`" \
-o outfile

ສັງເກດເຫັນວ່າໄລຍະທີ່ຢູ່ສໍາລັບການຜະລິດຂໍ້ມູນກົງກັບຄວາມຍາວຂອງຂໍ້ມູນແນວໃດ
ວັນ(1) ຂະຫນາດຜົນຜະລິດ. ທ່ານສາມາດ, ແນ່ນອນ, ເພີ່ມໄຟລ໌ປ້ອນຂໍ້ມູນຂອງທ່ານໃສ່ຂ້າງເທິງ srec_cat(1​)
ຄໍາສັ່ງເພື່ອກໍານົດຮູບພາບ EPROM ຂອງທ່ານພ້ອມກັບວັນທີແລະເວລາ.

ການແຊກ A Long
ຄວາມເປັນໄປໄດ້ອີກຢ່າງຫນຶ່ງແມ່ນການເພີ່ມຕົວເລກສັນຍາການໂຄ່ນລົ້ມລົງໃສ່ຮູບພາບ EPROM ຂອງທ່ານ. ໃນ​ນີ້
ຕົວຢ່າງ, ພວກເຮົາກໍາລັງໃສ່ມັນ aa 4-byte little-endian value at address 0x0008. ໄດ້
ຈໍານວນຄໍາຫມັ້ນສັນຍາການໂຄ່ນລົ້ມແມ່ນຢູ່ໃນ $ຮຸ່ນ ຕົວແປຂອງ shell ໃນຕົວຢ່າງນີ້:

srec_cat -generate 0x0008 0x000C -l-e-constant $version 4 \
infile - ບໍ່ລວມ 0x0008 0x000C \
-o outfile

ຈົ່ງຈື່ໄວ້ວ່າພວກເຮົາໃຊ້ຕົວກອງເພື່ອຮັບປະກັນວ່າມີຂຸມຢູ່ໃນວັດສະດຸປ້ອນບ່ອນທີ່ຫມາຍເລກຮຸ່ນ
ໄປ, ພຽງແຕ່ໃນກໍລະນີທີ່ຕົວເຊື່ອມຕໍ່ໃສ່ບາງສິ່ງບາງຢ່າງຢູ່ທີ່ນັ້ນ.

ຂໍ້ມູນ ກ່ຽວກັບ ການ ຂໍ້ມູນ


ມັນເປັນໄປໄດ້ທີ່ຈະເພີ່ມຄວາມຫລາກຫລາຍຂອງຂໍ້ມູນກ່ຽວກັບຂໍ້ມູນເຂົ້າໃນຜົນຜະລິດ.

ກວດສອບ
ໄດ້ -big-endian-checksum-ລົບ ການກັ່ນຕອງອາດຈະຖືກນໍາໃຊ້ເພື່ອສະຫຼຸບຂໍ້ມູນ, ແລະຫຼັງຈາກນັ້ນໃສ່
ລົບຂອງຜົນລວມເຂົ້າໄປໃນຂໍ້ມູນ. ນີ້ມີຜົນກະທົບຂອງການລວມສູນໃນເວລາທີ່
checksum ຕົວຂອງມັນເອງແມ່ນລວມເຂົ້າກັນ, ໃຫ້ຄວາມກວ້າງລວມກົງກັບຄວາມກວ້າງຂອງມູນຄ່າທີ່ໃສ່.

srec_cat infile \
- ການປູກພືດ 0 0xFFFFFC \
- ຕື່ມຂໍ້ມູນແບບສຸ່ມ 0 0xFFFFFC \
-b-e-checksum-neg 0xFFFFFC 4 4 \
-o outfile

ໃນຕົວຢ່າງນີ້, ພວກເຮົາມີ EPROM ໃນ megabyte ຕ່ໍາສຸດຂອງຫນ່ວຍຄວາມຈໍາ. ການ​ກັ່ນ​ຕອງ​ການ​ປູກ​ພືດ​
ໃຫ້ແນ່ໃຈວ່າພວກເຮົາພຽງແຕ່ສະຫຼຸບຂໍ້ມູນພາຍໃນ EPROM, ແລະບໍ່ແມ່ນບ່ອນອື່ນ. ໄດ້
-random-fill filter ຕື່ມຂໍ້ມູນໃສ່ຮູທີ່ເຫຼືອຢູ່ໃນຂໍ້ມູນດ້ວຍຄ່າສຸ່ມ. ໃນ​ທີ່​ສຸດ​, -b​.
e-checksum-neg filter ໃສ່ checksum 32 bit (4 byte) ໃນຮູບແບບ big-endian ໃນຮູບແບບສຸດທ້າຍ
4 bytes ຂອງຮູບ EPROM. ຕາມທໍາມະຊາດ, ມີສະບັບ endian ພຽງເລັກນ້ອຍຂອງການກັ່ນຕອງນີ້ເປັນ
ດີ.

ລະຫັດຝັງຂອງທ່ານສາມາດກວດສອບ EPROM ໂດຍໃຊ້ລະຫັດ C ທີ່ຄ້າຍຄືກັບຕໍ່ໄປນີ້:

unsigned long *begin = (unsigned long *)0;
unsigned long *end = (unsigned long *)0x100000;
unsigned long sum = 0;
ໃນຂະນະທີ່ (ເລີ່ມຕົ້ນ <ສິ້ນສຸດ)
sum += *ເລີ່ມຕົ້ນ++;
ຖ້າ (ລວມ != 0)
{
ອຸ່ຍ
}

ໄດ້ -big-endian-checksum-bitnot ການກັ່ນຕອງແມ່ນຄ້າຍຄືກັນ, ຍົກເວັ້ນວ່າສະຫຼຸບຫຼາຍກວ່າ checksum
ຄວນໃຫ້ຄ່າຂອງທັງໝົດ-one-bits (−1). ສໍາລັບຕົວຢ່າງ, ການນໍາໃຊ້ສັ້ນແທນທີ່ຈະຍາວ:

srec_cat infile \
- ການປູກພືດ 0 0xFFFFFE \
- ຕື່ມ 0xCC 0x00000 0xFFFFFE \
-b-e-checksum-neg 0xFFFFFE 2 2 \
-o outfile

ສົມມຸດວ່າທ່ານເລືອກຕົວກອງ endian-ness ທີ່ຖືກຕ້ອງ, ລະຫັດຝັງຂອງທ່ານສາມາດກວດເບິ່ງ EPROM
ການນໍາໃຊ້ລະຫັດ C ຄ້າຍຄືກັນກັບດັ່ງຕໍ່ໄປນີ້:

unsigned short *begin = (unsigned short *)0;
unsigned short *end = (unsigned short *)0x100000;
unsigned short sum = 0;
ໃນຂະນະທີ່ (ເລີ່ມຕົ້ນ <ສິ້ນສຸດ)
sum += *ເລີ່ມຕົ້ນ++;
ຖ້າ (ລວມ != 0xFFFF)
{
ອຸ່ຍ
}

ນອກນັ້ນຍັງມີ -b-e-checksum-ບວກ ການກັ່ນຕອງ, ແລະຕົວກອງນ້ອຍ-endian ທີ່ກົງກັນ, ເຊິ່ງ
ໃສ່ຜົນລວມທີ່ງ່າຍດາຍ, ແລະອັນໃດຈະຖືກກວດສອບໃນ C ໂດຍໃຊ້ການທົດສອບຄວາມສະເໝີພາບ.

srec_cat infile \
- ປູກພືດ 0 0xFFFFFF \
- ຕື່ມ 0x00 0x00000 0xFFFFFF \
-b-e-checksum-neg 0xFFFFFF 1 1 \
-o outfile

ສົມມຸດວ່າທ່ານເລືອກຕົວກອງ endian-ness ທີ່ຖືກຕ້ອງ, ລະຫັດຝັງຂອງທ່ານສາມາດກວດເບິ່ງ EPROM
ການນໍາໃຊ້ລະຫັດ C ຄ້າຍຄືກັນກັບດັ່ງຕໍ່ໄປນີ້:

unsigned char *begin = (unsigned char *)0;
unsigned char *end = (unsigned char *)0xFFFFF;
unsigned char sum = 0;
ໃນຂະນະທີ່ (ເລີ່ມຕົ້ນ <ສິ້ນສຸດ)
sum += *ເລີ່ມຕົ້ນ++;
ຖ້າ (sum != *end)
{
ອຸ່ຍ
}

ໃນກໍລະນີ 8-bit, ມັນບໍ່ສໍາຄັນວ່າທ່ານໃຊ້ big-endian ຫຼື little-endian
ຕົວກອງ

ດ່ວນ Hex-Dump
ທ່ານສາມາດເບິ່ງ checksum ຂອງຂໍ້ມູນຂອງທ່ານ, ໂດຍໃຊ້ຮູບແບບຜົນຜະລິດ "hex-dump". ນີ້​ແມ່ນ
ເປັນປະໂຫຍດສໍາລັບການເບິ່ງຄ່າທີ່ຄິດໄລ່, ຫຼືສໍາລັບການ debugging an srec_cat(1) ຄໍາສັ່ງກ່ອນ
immortalizing ມັນຢູ່ໃນສະຄິບ.

srec_cat infile \
- ການປູກພືດ 0 0x10000 \
- ຕື່ມ 0xFF 0x0000 0x10000 \
-b-e-checksum-neg 0x10000 4 \
- ການປູກພືດ 0x10000 0x10004 \
-o - -hex-dump

ຄໍາສັ່ງນີ້ອ່ານຢູ່ໃນໄຟລ໌, checksums ຂໍ້ມູນແລະວາງ checksum ຢູ່ 0x10000,
ປູກພືດຜົນໃຫ້ມີພຽງແຕ່ checksum, ແລະຫຼັງຈາກນັ້ນພິມ checksum ເທິງ
ຜົນຜະລິດມາດຕະຖານໃນຮູບແບບ dump hexadecimal ຄລາສສິກ. ຊື່ໄຟລ໌ພິເສດ "-" ຫມາຍຄວາມວ່າ
"ຜົນຜະລິດມາດຕະຖານ" ໃນສະພາບການນີ້.

ວົງຈອນ Redundancy ການກວດສອບ
checksums ເພີ່ມເຕີມງ່າຍດາຍມີຈໍານວນຂອງຂໍ້ຈໍາກັດທາງທິດສະດີ, ທີ່ຈະເຮັດກັບຄວາມຜິດພາດ
ພວກເຂົາເຈົ້າສາມາດແລະບໍ່ສາມາດກວດພົບ. ວິທີການ CRC ມີບັນຫາຫນ້ອຍລົງ.

srec_cat infile \
- ການປູກພືດ 0 0xFFFFFC \
- ຕື່ມ 0x00 0x00000 0xFFFFFC \
-b-e-crc32 0xFFFFFC \
-o outfile

ໃນຕົວຢ່າງຂ້າງເທິງ, ພວກເຮົາມີ EPROM ໃນ megabyte ຕ່ໍາສຸດຂອງຫນ່ວຍຄວາມຈໍາ. ໄດ້ - ການປູກພືດ ການກັ່ນຕອງ
ໃຫ້ແນ່ໃຈວ່າພວກເຮົາພຽງແຕ່ສະຫຼຸບຂໍ້ມູນພາຍໃນ EPROM, ແລະບໍ່ແມ່ນບ່ອນອື່ນ. ໄດ້ -ຕື່ມ
ການກັ່ນຕອງຕື່ມຂໍ້ມູນໃສ່ຮູທີ່ເຫຼືອຢູ່ໃນຂໍ້ມູນ. ສຸດທ້າຍ, ໄດ້ -b-e-checksum-neg ການກັ່ນຕອງໃສ່ a
32 bit (4 byte) checksum ໃນຮູບແບບ big-endian ໃນ 4 bytes ສຸດທ້າຍຂອງຮູບ EPROM.
ຕາມທໍາມະຊາດ, ມີສະບັບ endian ພຽງເລັກນ້ອຍຂອງການກັ່ນຕອງນີ້ເຊັ່ນດຽວກັນ.

checksum ຖືກຄິດໄລ່ໂດຍໃຊ້ CRC 32-bit ມາດຕະຖານອຸດສາຫະກໍາ. ເນື່ອງຈາກວ່າ SRecord ແມ່ນ
open source, ເຈົ້າສາມາດອ່ານລະຫັດແຫຼ່ງໄດ້ຕະຫຼອດເວລາເພື່ອເບິ່ງວ່າມັນເຮັດວຽກແນວໃດ. ມີ​ຈໍາ​ນວນ​ຫຼາຍ​ທີ່​ບໍ່​ແມ່ນ
ຮຸ່ນ GPL ຂອງລະຫັດນີ້ມີຢູ່ໃນອິນເຕີເນັດ, ແລະເຫມາະສົມສໍາລັບການຝັງຢູ່ໃນ
ເຟີມແວທີ່ເປັນເຈົ້າຂອງ.

ນອກນັ້ນຍັງມີ 16-bit CRC ທີ່ມີຢູ່.

srec_cat infile \
- ການປູກພືດ 0 0xFFFFFE \
- ຕື່ມ 0x00 0x00000 0xFFFFFE \
-b-e-crc16 0xFFFFFE \
-o outfile

checksum ຖືກຄິດໄລ່ໂດຍໃຊ້ສູດ CCITT. ເນື່ອງຈາກວ່າ SRecord ເປັນແຫຼ່ງເປີດ, ທ່ານ
ສາມາດອ່ານລະຫັດແຫຼ່ງເພື່ອເບິ່ງວ່າມັນເຮັດວຽກໄດ້ແນວໃດ. ມີຫຼາຍລຸ້ນທີ່ບໍ່ແມ່ນ GPL ຂອງ
ລະຫັດນີ້ມີຢູ່ໃນອິນເຕີເນັດ, ແລະເຫມາະສົມສໍາລັບການຝັງຢູ່ໃນເຟີມແວທີ່ເປັນເຈົ້າຂອງ.

ທ່ານສາມາດເບິ່ງ CRC ຂອງຂໍ້ມູນຂອງທ່ານ, ໂດຍໃຊ້ຮູບແບບຜົນຜະລິດ "hex-dump".

srec_cat infile \
- ການປູກພືດ 0 0x10000 \
- ຕື່ມ 0xFF 0x0000 0x10000 \
-b-e-crc16 0x10000 \
- ການປູກພືດ 0x10000 0x10002 \
-o - -hex-dump

ຄໍາສັ່ງນີ້ອ່ານຢູ່ໃນໄຟລ໌, ຄິດໄລ່ CRC ຂອງຂໍ້ມູນແລະວາງ CRC ຢູ່
0x10000, ຕັດຜົນໄດ້ຮັບເພື່ອໃຫ້ມີ CRC ເທົ່ານັ້ນ, ແລະຫຼັງຈາກນັ້ນພິມ checksum ເທິງ.
ຜົນຜະລິດມາດຕະຖານໃນຮູບແບບ dump hexadecimal ຄລາສສິກ.

ບ່ອນທີ່ Is My ຂໍ້ມູນ?
ມີຫຼາຍຄຸນສົມບັດຂອງຮູບພາບ EPROM ຂອງທ່ານທີ່ທ່ານອາດຈະຕ້ອງການທີ່ຈະໃສ່ເຂົ້າໄປໃນ
ຂໍ້ມູນ.

srec_cat infile -b-e-ຂັ້ນຕ່ຳ 0xFFFE 2 -o outfile

ຕົວຢ່າງຂ້າງເທິງນີ້ໃສ່ທີ່ຢູ່ຕໍາ່ສຸດທີ່ຂອງຂໍ້ມູນ (ຕ່ໍາ ນ້ໍາ) ເຂົ້າໄປໃນຂໍ້ມູນ, ເປັນ
ສອງ bytes ໃນຄໍາສັ່ງ big-endian ທີ່ຢູ່ 0xFFFE. ນີ້ປະກອບມີຕໍາ່ສຸດທີ່ຕົວຂອງມັນເອງ. ຖ້າ
ຂໍ້ມູນມີໄບຕ໌ຢູ່ໃນທີ່ຢູ່ທີ່ລະບຸໄວ້ແລ້ວ, ທ່ານຈໍາເປັນຕ້ອງໃຊ້ຕົວກອງຍົກເວັ້ນ.
ຈຳນວນຂອງໄບຕ໌ຕັ້ງໄວ້ເປັນ 4.

ນອກນັ້ນຍັງມີ -l-e-ຕໍາ່ສຸດ ການກັ່ນຕອງສໍາລັບການໃສ່ຄ່າ little-endian, ແລະອີກສອງອັນ
ການກັ່ນຕອງເອີ້ນວ່າ -b-e-exclusive-ຕໍ່າສຸດ ແລະ -l-e-exclusive-ຕໍາ່ສຸດທີ່ ທີ່ບໍ່ປະກອບມີ
ຕໍາ່ສຸດທີ່ຕົວຂອງມັນເອງໃນການຄິດໄລ່ທີ່ຢູ່ຂໍ້ມູນຕໍາ່ສຸດທີ່.

srec_cat infile -b-e-ສູງສຸດ 0xFFFFFC 4 -o outfile

ຕົວຢ່າງຂ້າງເທິງນີ້ໃສ່ທີ່ຢູ່ສູງສຸດຂອງຂໍ້ມູນ (ສູງ ນ້ໍາ + 1, ຄືກັນກັບ
ຊ່ວງທີ່ຢູ່) ເຂົ້າໄປໃນຂໍ້ມູນ, ເປັນສີ່ bytes ໃນຄໍາສັ່ງ big-endian ທີ່ທີ່ຢູ່ 0xFFFFFC.
ນີ້ປະກອບມີສູງສຸດຂອງມັນເອງ. ຖ້າຂໍ້ມູນມີໄບຕ໌ຢູ່ແລ້ວ
ທີ່ຢູ່, ທ່ານຈໍາເປັນຕ້ອງໃຊ້ - ຍົກ​ເວັ້ນ​ ການກັ່ນຕອງ. ຈຳນວນຂອງໄບຕ໌ຕັ້ງໄວ້ເປັນ 4.

ນອກນັ້ນຍັງມີ -l-e-ສູງສຸດ ການກັ່ນຕອງສໍາລັບການໃສ່ຄ່າ little-endian, ແລະອີກສອງອັນ
ການກັ່ນຕອງເອີ້ນວ່າ -b-e-exclusive-ສູງສຸດ ແລະ -l-e-exclusive-ສູງສຸດ ທີ່ບໍ່ປະກອບມີ
ສູງສຸດຂອງມັນເອງໃນການຄິດໄລ່ທີ່ຢູ່ຂໍ້ມູນສູງສຸດ.

srec_cat infile -b-e-length 0xFFFFFC 4 -o outfile

ຕົວຢ່າງຂ້າງເທິງນີ້ໃສ່ຄວາມຍາວຂອງຂໍ້ມູນ (ສູງ ນ້ໍາ + 1 − ຕ່ໍາ ນ້ໍາ) ເຂົ້າໄປໃນ
ຂໍ້ມູນ, ເປັນສີ່ bytes ໃນຄໍາສັ່ງ big-endian ທີ່ຢູ່ 0xFFFFFC. ນີ້ປະກອບມີຄວາມຍາວ
ຕົວຂອງມັນເອງ. ຖ້າຂໍ້ມູນມີໄບຕ໌ຢູ່ບ່ອນຕັ້ງຄວາມຍາວ, ເຈົ້າຕ້ອງໃຊ້ອັນ
- ຍົກ​ເວັ້ນ​ ການກັ່ນຕອງ. ຈຳນວນຂອງໄບຕ໌ຕັ້ງໄວ້ເປັນ 4.

ນອກນັ້ນຍັງມີ -l-e-ຄວາມຍາວ ການກັ່ນຕອງສໍາລັບການໃສ່ຄວາມຍາວພຽງເລັກນ້ອຍ-endian, ແລະ -b-e-
ຄວາມຍາວສະເພາະ ແລະ -l-e-exclusive-length ຕົວກອງທີ່ບໍ່ປະກອບມີຄວາມຍາວຂອງມັນເອງ
ໃນ​ການ​ຄິດ​ໄລ່​.

ແມ່ນ​ຫຍັງ ຮູບແບບ Is ນີ້ບໍ?
ທ່ານ​ສາ​ມາດ​ໄດ້​ຮັບ​ຄວາມ​ຫຼາກ​ຫຼາຍ​ຂອງ​ຂໍ້​ມູນ​ກ່ຽວ​ກັບ​ໄຟລ​໌​ການ​ໂຫຼດ EPROM ໂດຍ​ການ​ນໍາ​ໃຊ້​ srec_info(1​)
ຄໍາສັ່ງ. ຍົກ​ຕົວ​ຢ່າງ:

$ srec_info example.srec
ຮູບແບບ: Motorola S-Record
ສ່ວນຫົວ: "http://srecord.sourceforge.net/"
ທີ່ຢູ່ເລີ່ມຕົ້ນຂອງການປະຕິບັດ: 00000000
ຂໍ້ມູນ: 0000 - 0122
0456 - 0FFF
$

ຕົວຢ່າງນີ້ສະແດງໃຫ້ເຫັນວ່າໄຟລ໌ແມ່ນ Motorola S-Record. ຂໍ້ຄວາມຢູ່ໃນສ່ວນຫົວຂອງໄຟລ໌ແມ່ນ
ພິມ, ພ້ອມກັບທີ່ຢູ່ເລີ່ມຕົ້ນການປະຕິບັດ. ພາກສຸດທ້າຍສະແດງໃຫ້ເຫັນທີ່ຢູ່
ຊ່ວງທີ່ມີຂໍ້ມູນ (ຂອບເຂດເທິງຂອງແຕ່ລະໄລຍະຍ່ອຍແມ່ນ inລວມ, ແທນທີ່ຈະກ່ວາ
exຮູບແບບສະເພາະທີ່ໃຊ້ໃນແຖວຄໍາສັ່ງ.

$ srec_info some-weird-file.hex - ເດົາ
ຮູບແບບ: Signetics
ຂໍ້ມູນ: 0000 - 0122
0456 - 0FFF
$

ຕົວຢ່າງຂ້າງເທິງນີ້ຄາດເດົາຮູບແບບໄຟລ໌ໂຫລດ EPROM. ມັນ​ບໍ່​ແມ່ນ​ຄວາມ​ຜິດ​ພາດ​ແຕ່​ມັນ​ປົກ​ກະ​ຕິ​ແລ້ວ​
ໄດ້ຮັບມັນຖືກຕ້ອງ. ທ່ານສາມາດນໍາໃຊ້ - ເດົາ ທຸກບ່ອນທີ່ເຈົ້າຈະໃຫ້ຮູບແບບທີ່ຊັດເຈນ, ແຕ່ມັນ
ແນວໂນ້ມທີ່ຈະຊ້າກວ່າແລະສໍາລັບເຫດຜົນນັ້ນບໍ່ໄດ້ຖືກແນະນໍາ. ນອກຈາກນີ້, ສໍາລັບການກໍ່ສ້າງອັດຕະໂນມັດ
ລະບົບ, ທ່ານຕ້ອງການຄວາມຜິດພາດຍາກໄວເທົ່າທີ່ຈະໄວໄດ້; ຖ້າໄຟລ໌ບໍ່ຢູ່ໃນທີ່ຄາດໄວ້
ຮູບແບບ, ທ່ານຕ້ອງການມັນ barf.

ການຈັດການ ການ ຂໍ້ມູນ


ມັນເປັນໄປໄດ້ທີ່ຈະປ່ຽນຄ່າຂອງ bytes ຂໍ້ມູນໃນຫຼາຍວິທີ.

srec_cat infile -ແລະ 0xF0 -o outfile

ຕົວຢ່າງຂ້າງເທິງນີ້ປະຕິບັດ AND ຂອງໄບຕ໌ຂໍ້ມູນເລັກນ້ອຍທີ່ສະຫລາດກັບຫນ້າກາກ 0xF0. ໄດ້
ທີ່ຢູ່ຂອງບັນທຶກບໍ່ປ່ຽນແປງ. ຕົວຈິງແລ້ວຂ້ອຍບໍ່ສາມາດຄິດເຖິງການນໍາໃຊ້ຕົວກອງນີ້.

srec_cat infile -ຫຼື 0x0F -o outfile

ຕົວຢ່າງຂ້າງເທິງນີ້ປະຕິບັດ OR ຂອງໄບຕ໌ຂໍ້ມູນທີ່ມີຄວາມສະຫລາດເລັກນ້ອຍດ້ວຍ 0x0F bits. ໄດ້
ທີ່ຢູ່ຂອງບັນທຶກບໍ່ປ່ຽນແປງ. ຕົວຈິງແລ້ວຂ້ອຍບໍ່ສາມາດຄິດເຖິງການນໍາໃຊ້ຕົວກອງນີ້.

srec_cat infile -xor 0xA5 -o outfile

ຕົວຢ່າງຂ້າງເທິງນີ້ປະຕິບັດ OR ສະເພາະຂອງ bytes ຂໍ້ມູນທີ່ມີ 0xA5 bits.
ທີ່ຢູ່ຂອງບັນທຶກບໍ່ປ່ຽນແປງ. ທ່ານ​ສາ​ມາດ​ນໍາ​ໃຊ້​ນີ້​ເພື່ອ​ເຮັດ​ໃຫ້​ຜິດ​ພາດ​ເນື້ອ​ໃນ​ຂອງ​
EPROM ຂອງ​ທ່ານ​.

srec_cat infile - ບໍ່ -o outfile

ຕົວຢ່າງຂ້າງເທິງນີ້ປະຕິບັດບໍ່ສະຫລາດເລັກນ້ອຍຂອງໄບຕ໌ຂໍ້ມູນ. ທີ່ຢູ່ຂອງບັນທຶກແມ່ນ
ບໍ່ປ່ຽນແປງ. ຄວາມ​ປອດ​ໄພ​ໂດຍ​ຄວາມ​ມືດ?

COPYRIGHT


srec_cat 1.58 Version
ສະຫງວນລິຂະສິດ (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
2010, 2011 Peter Miller

ໄດ້ srec_cat ໂຄງການມາພ້ອມກັບການຮັບປະກັນຢ່າງແທ້ຈິງ; ສໍາລັບລາຍລະອຽດ, ການນໍາໃຊ້ 'srec_cat
-VERSion ໃບອະນຸຍາດ' ຄໍາ​ສັ່ງ​. ນີ້​ແມ່ນ​ຊອບ​ແວ​ຟຣີ​ແລະ​ທ່ານ​ຍິນ​ດີ​ຕ້ອນ​ຮັບ​ທີ່​ຈະ​ແຈກ​ຢາຍ​ມັນ​
ພາຍໃຕ້ເງື່ອນໄຂສະເພາະໃດຫນຶ່ງ; ສໍາລັບລາຍລະອຽດ, ການນໍາໃຊ້ 'srec_cat -VERSion ໃບອະນຸຍາດ' ຄໍາ​ສັ່ງ​.

ໃຊ້ srec_examples ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net


ເຊີບເວີ ແລະສະຖານີເຮັດວຽກຟຣີ

ດາວໂຫຼດແອັບ Windows ແລະ Linux

Linux ຄຳ ສັ່ງ

Ad




×
ການ​ໂຄ​ສະ​ນາ
?ຊື້ເຄື່ອງ, ຈອງ, ຫຼືຊື້ທີ່ນີ້ — ບໍ່ມີຄ່າໃຊ້ຈ່າຍ, ຊ່ວຍໃຫ້ການບໍລິການຟຣີ.