សៀវភៅណែនាំរបស់ម្ចាស់ម៉ូឌុលប៊្លូធូស SiFive HiFive1
ម៉ូឌុលប៊្លូធូស SiFive HiFive1

សេចក្តីជូនដំណឹងអំពីកម្មសិទ្ធិ

រក្សាសិទ្ធិ © 2016-2021, SiFive Inc. រក្សាសិទ្ធិគ្រប់យ៉ាង។

SiFive HiFive1 Getting Started Guide ដោយ SiFive, Inc. ត្រូវបានផ្តល់អាជ្ញាប័ណ្ណក្រោម Attribution-NonCommercial- NoDerivatives 4.0 International។ ទៅ view ច្បាប់ចម្លងនៃអាជ្ញាប័ណ្ណនេះ សូមចូលទៅកាន់៖
http://creativecommons.org/licenses/by-nc-nd/4.0

ព័ត៌មាននៅក្នុងឯកសារនេះត្រូវបានផ្តល់ជូន "ដូចដែលមាន" ជាមួយនឹងកំហុសទាំងអស់។

SiFive បដិសេធទាំងស្រុងនូវការធានា ការតំណាង និងលក្ខខណ្ឌនៃប្រភេទណាមួយ ទោះជាបង្ហាញ ឬដោយបង្កប់ន័យ រួមទាំង ប៉ុន្តែមិនកំណត់ចំពោះ ការធានាដោយបង្កប់ន័យ ឬលក្ខខណ្ឌនៃសមត្ថភាពពាណិជ្ជករ សម្បទាសម្រាប់គោលបំណងជាក់លាក់មួយ និងការមិនរំលោភបំពាន។

SiFive មិនសន្មត់ទំនួលខុសត្រូវណាមួយដែលកើតឡើងចេញពីកម្មវិធី ឬការប្រើប្រាស់ផលិតផល ឬសៀគ្វីណាមួយឡើយ ហើយជាពិសេសបដិសេធការទទួលខុសត្រូវទាំងអស់ រួមទាំងដោយគ្មានដែនកំណត់ ដោយប្រយោល ចៃដន្យ ពិសេស គំរូ ឬការខូចខាតជាផលវិបាក។

SiFive រក្សាសិទ្ធិក្នុងការផ្លាស់ប្តូរដោយគ្មានការជូនដំណឹងបន្ថែមចំពោះផលិតផលណាមួយនៅទីនេះ។

ចេញផ្សាយព័ត៌មាន
កំណែ កាលបរិច្ឆេទ

ការផ្លាស់ប្តូរ

1.0.5 ថ្ងៃទី ៣១ ខែមីនា ឆ្នាំ ២០២១ បានបន្ថែមអាជ្ញាប័ណ្ណ Creative Commons
1.0.4 ថ្ងៃទី 21 ខែមិថុនា ឆ្នាំ 2017 បានបន្ថែមព័ត៌មាននៅលើ Freedom Studio និងប្រព័ន្ធគោលពីរដែលបានចងក្រងឡើងវិញ
1.0.3 ថ្ងៃទី 11 ខែមេសា ឆ្នាំ 2017 មាតិកា OTP ដែលបានកែតម្រូវ ការណែនាំមានប្រយោជន៍មួយចំនួនសម្រាប់ការប្រើប្រាស់

អេក្រង់

1.0.2 ថ្ងៃទី ២៤ ខែ មករា ឆ្នាំ ២០២៤ បានបន្ថែម RGB LED Pin ចេញ និងការកែតម្រូវចំពោះច្បាប់ udev
1.0.1 ថ្ងៃទី 21 ខែធ្នូ ឆ្នាំ 2016 ការកែតម្រូវលំហូរនៃការអភិវឌ្ឍន៍កម្មវិធី
1.0.0 ថ្ងៃទី 20 ខែធ្នូ ឆ្នាំ 2016 ការចេញផ្សាយដំបូង

ដ្យាក្រាម HiFive1

សមាសធាតុ HiFive1

ដ្យាក្រាម HiFive1
រូបភាព 1.1: បន្ទះ HiFive1

រូបភាព 1.1 បង្ហាញ HiFive1 ជាមួយផ្នែកដែលត្រូវបានពិពណ៌នានៅក្នុងឯកសារនេះ។

គ្រោងការណ៍ HiFive1

គ្រោងការណ៍និងការរចនា files សម្រាប់ HiFive1 មាននៅ http://dev.sifive.com/hifive1

ផ្នែករឹងដែលត្រូវការ

ការប្រើប្រាស់ HiFive1 Dev Kit ទាមទារផ្នែករឹងខាងក្រោម៖

HiFive1 Dev Kit
ក្រុមប្រឹក្សាអភិវឌ្ឍន៍ HiFive1 របស់ SiFive គឺផ្អែកលើបន្ទះឈីប FE310-G000 ដែលជា SoC ដែលមានមូលដ្ឋាននៅជុំវិញ
ស្នូល RISC-V RV32IMAC ។ វាអាចត្រូវបានទិញពី Crowd Supply:
http://www.crowdsupply.com/sifive/hifive1

ខ្សែ USB A ទៅ Micro-B

ខ្សែ USB ប្រភេទ A Male to Micro-B Male ស្តង់ដារណាមួយអាចត្រូវបានប្រើដើម្បីភ្ជាប់ជាមួយ HiFive1 ។
http://store.digilentinc.com/usb-a-to-micro-b-cable/

ផ្នែករឹងស្រេចចិត្ត

ការផ្គត់ផ្គង់ថាមពលខាងក្រៅ
ខណៈពេលដែលខ្សែ USB A ដល់ Micro-B គឺចាំបាច់សម្រាប់ការសរសេរកម្មវិធី និងទំនាក់ទំនងជាមួយ HiFive1 នោះ បន្ទះអាចដំណើរការចេញពីការផ្គត់ផ្គង់ថាមពល 7-12V DC ខាងក្រៅផងដែរ ឬការផ្គត់ផ្គង់ថាមពល USB ឬកញ្ចប់ថ្ម។

IOREF Jumper
HiFive1 របស់អ្នកភ្ជាប់មកជាមួយ jumper តែមួយសម្រាប់ជ្រើសរើស IO Reference voltagអ៊ី ប្រសិនបើអ្នកត្រូវការ
ជំនួសវា ទាំងនេះអាចត្រូវបានទិញពី DigiKey:http://www.digikey.com/product-detail/en/sullins-connector-solutions/SPC02SYAN/ S9001-ND/76375

Shields ដែលត្រូវគ្នា។
Shields គឺជាឧបករណ៍ដែលត្រូវបានរចនាឡើងដើម្បីឱ្យសមនៅលើបឋមកថា I/O នៅលើឧបករណ៍ដែលត្រូវគ្នានឹងកត្តាទម្រង់ Arduino ដើម្បីផ្តល់មុខងារបន្ថែម។ ក្រុមហ៊ុនផលិតខែលជាធម្មតាផ្តល់នូវបណ្ណាល័យដែលត្រូវបានរចនាឡើងដើម្បីធ្វើការជាមួយ Arduino IDE ។

យើងបានសាកល្បងខែលខាងក្រោមជាមួយ HiFive1 ហើយបានបញ្ជូនបណ្ណាល័យរបស់ពួកគេ។

ជាទូទៅ ប្រឡោះដែលទាក់ទងជាមួយ SPI, UART, និង I/Os ឌីជីថល គួរតែងាយស្រួលប្រើជាមួយ HiFive1 ប៉ុន្តែបណ្ណាល័យជំនួយរបស់ពួកគេអាចត្រូវការការកែប្រែបន្តិចបន្តួចដើម្បីស្គាល់ HiFive1។

ស្រទាប់ការពារដែលមានតម្រូវការបញ្ចូលអាណាឡូកនឹងត្រូវការអាដាប់ទ័រព្រោះ FE310-G000 មិនរួមបញ្ចូលសមាសធាតុអាណាឡូក។

ការដំឡើងក្តារ

ការដំឡើង IOREF Jumper

HiFive1 របស់អ្នកនឹងភ្ជាប់មកជាមួយ jumper ដែលបានដំឡើងនៅលើ J1 ដើម្បីជ្រើសរើស IO Reference Level។ អាស្រ័យលើខែលដែលអ្នកចង់បើកបរ សូមជ្រើសរើស 3.3V ឬ 5.V ដោយប្រើ jumper។ អ្នកត្រូវតែដំឡើង jumper នៅម្ខាង ឬម្ខាងទៀត ដើម្បីជំរុញ ឬអានសញ្ញាណាមួយនៅលើបឋមកថា IO ។

ការភ្ជាប់ចំណុចប្រទាក់ USB

ភ្ជាប់ USB Type A ទៅនឹងខ្សែ Micro-B រវាងរន្ធ USB របស់ HiFive1 និងម៉ាស៊ីនម៉ាស៊ីន។ នេះផ្តល់នូវការចូលប្រើកុងសូល UART ទៅកាន់ HiFive1 ក៏ដូចជាប្រភពថាមពល 5V សម្រាប់ក្តារ។ នេះក៏ជារបៀបដែលកម្មវិធីនឹងត្រូវបានសរសេរកម្មវិធី និងបំបាត់កំហុសនៅលើ HiFive1។

ភ្ជាប់ចុងម្ខាងទៀតនៃខ្សែទៅនឹងម៉ាស៊ីនម៉ាស៊ីនរបស់អ្នក។ អ្នកនឹងឃើញភ្លើងពណ៌បៃតង LEDs D10 និង D9 ភ្លឺឡើង។ នេះមានន័យថាការផ្គត់ផ្គង់ 5V សំខាន់ទាំងពីរត្រូវបានបើក ក៏ដូចជាការផ្គត់ផ្គង់ 3.3V "ភាគច្រើនបិទ" ។

ចាប់ផ្ដើម និងដំណើរការ

HiFive1 ភ្ជាប់មកជាមួយកម្មវិធី bootloader សាមញ្ញ និងកម្មវិធី demo software ដែលព្រីនទៅ UART ហើយវិលជុំវិញ RGB LED ក្នុងលំនាំឥន្ទធនូ។ អ្នកអាចឆ្លើយតបនៅលើ UART ដើម្បីបង្ហាញថា LEDs កំពុងផ្លាស់ប្តូរ និងទទួលបានសារ "PASS" ។

កម្មវិធីនេះនឹងត្រូវបានសរសេរជាន់ពីលើនៅក្នុង SPI Flash នៅពេលអ្នកសរសេរកម្មវិធីថ្មីទៅក្នុងក្តារជាមួយ SDK ប៉ុន្តែកូដកម្មវិធីចាប់ផ្ដើមប្រព័ន្ធនឹងមិនត្រូវបានកែប្រែទេ។

ដោយប្រើកម្មវិធីត្រាប់តាមស្ថានីយដូចជាអេក្រង់ GNU នៅលើលីនុច បើកការតភ្ជាប់កុងសូលពីកុំព្យូទ័រម៉ាស៊ីនទៅ HiFive1 ។

កំណត់ប៉ារ៉ាម៉ែត្រខាងក្រោម៖

ល្បឿន

115200
ភាពស្មើគ្នា

គ្មាន

ប៊ីតទិន្នន័យ

8
ឈប់ប៊ីត

1

លំហូរផ្នែករឹង

គ្មាន

សម្រាប់អតីតample នៅលើ Linux ដោយប្រើ GNU Screen៖

អេក្រង់ sudo /dev/ttyUSB1 115200

អ្នកអាចប្រើ Ctrl-a k ដើម្បី "សម្លាប់" (ចេញ) វគ្គអេក្រង់ដែលកំពុងដំណើរការ។

អាស្រ័យ​លើ​ការ​រៀបចំ​របស់​អ្នក អ្នក​អាច​នឹង​ត្រូវ​ការ​កម្មវិធី​បញ្ជា​បន្ថែម ឬ​ការ​អនុញ្ញាត​ដើម្បី​ទំនាក់ទំនង​តាម​ច្រក USB។

ប្រសិនបើអ្នកកំពុងដំណើរការលើលីនុចបែបអ៊ូប៊ុនទូ ខាងក្រោមនេះគឺជាអតីតampជំហាន​ដែល​អ្នក​អាច​នឹង​ត្រូវ​ធ្វើ​តាម​ដើម្បី​ចូល​ប្រើ​ឧបករណ៍​អភិវឌ្ឍន៍​របស់​អ្នក​ដោយ​គ្មាន​ការ​អនុញ្ញាត sudo៖

  1. ជាមួយនឹងការភ្ជាប់ចំណុចប្រទាក់បំបាត់កំហុសរបស់ក្តាររបស់អ្នក ត្រូវប្រាកដថាឧបករណ៍របស់អ្នកបង្ហាញជាមួយពាក្យបញ្ជា lsusb:> lsusb...
    Bus XXX ឧបករណ៍ XXX: ID 0403:6010 ឧបករណ៍បច្ចេកវិទ្យានាពេលអនាគត
    International, Ltd FT2232C Dual USB-UART/FIFO IC
  2. កំណត់ច្បាប់ udev ដើម្បីអនុញ្ញាតឱ្យឧបករណ៍ត្រូវបានចូលប្រើដោយក្រុម plugdev៖
    > sudo vi /etc/udev/rules.d/99-openocd.rules បន្ថែមបន្ទាត់ខាងក្រោម ហើយរក្សាទុក file (ប្រសិនបើពួកគេមិននៅទីនោះ)៖ # ទាំងនេះគឺសម្រាប់ SUBSYSTEM របស់ HiFive1 Board ==”usb”, ATTR{idVendor}==”0403″, ATTR{idProduct}==”6010″, MODE=”664″, GROUP = "ដោត"
    SUBSYSTEM==”tty”, ATTRS{idVendor}==”0403″, ATTRS{idProduct}==”6010″, MODE=”664″, GROUP=”plugdev” # ទាំងនេះគឺសម្រាប់ Olimex Debugger សម្រាប់ប្រើជាមួយ E310 Arty Dev Kit SUBSYSTEM==”usb”, ATTR{idVendor}==”15ba”, ATTR{idProduct}==”002a”, MODE=”664″, GROUP=”plugdev” SUBSYSTEM==”tty”, ATTRS{idVendor }==”15ba”, ATTRS{idProduct}==”002a”, MODE=”664″, GROUP=”plugdev”
  3. មើលថាតើបន្ទះរបស់អ្នកបង្ហាញជាឧបករណ៍សៀរៀលដែលជាកម្មសិទ្ធិរបស់ក្រុម plugdev៖
    > ls /dev/ttyUSB*
    /dev/ttyUSB0 /dev/ttyUSB1
    (ប្រសិន​បើ​អ្នក​មាន​ឧបករណ៍​សៀរៀល​ផ្សេង​ទៀត ឬ​បន្ទះ​ច្រើន​ដែល​ភ្ជាប់ អ្នក​អាច​មាន​ឧបករណ៍​ច្រើន​ទៀត​ក្នុង​បញ្ជី)។ សម្រាប់ការទំនាក់ទំនងសៀរៀលជាមួយ UART អ្នកនឹងតែងតែចង់ជ្រើសរើសលេខគូដែលខ្ពស់ជាងនេះនៅក្នុងឧample /dev/ttyUSB1.
    > ls -l /dev/ttyUSB1
    crw-rw-r– 1 root plugdev 188, 1 Nov 28 ម៉ោង 12:53 /dev/ttyUSB1
  4. បន្ថែមខ្លួនអ្នកទៅក្រុម plugdev ។ អ្នកអាចប្រើពាក្យបញ្ជា whoami ដើម្បីកំណត់ឈ្មោះអ្នកប្រើប្រាស់របស់អ្នក។
    > whoami ឈ្មោះអ្នកប្រើរបស់អ្នក > sudo usermod -a -G plugdev ឈ្មោះអ្នកប្រើរបស់អ្នក។
  5. ចេញហើយចូលវិញ បន្ទាប់មកពិនិត្យមើលថាឥឡូវនេះអ្នកជាសមាជិកនៃក្រុម plugdev៖
    > ក្រុម
    … plugdev …

ឥឡូវនេះអ្នកគួរតែអាចចូលប្រើ serial (UART) និងចំណុចប្រទាក់បំបាត់កំហុសដោយគ្មានការអនុញ្ញាត sudo ។

កំណត់ហេតុស្ថានីយ
ប្រសិនបើអ្នកបានដំឡើងសៀរៀលរបស់អ្នកបានត្រឹមត្រូវ នេះជាអ្វីដែលអ្នកនឹងឃើញនៅលើស្ថានីយរបស់អ្នក (អ្នកប្រហែលជាត្រូវចុចប៊ូតុង 'កំណត់ឡើងវិញ' ដើម្បីចាប់ផ្តើមកម្មវិធីឡើងវិញ)៖

កំណត់ហេតុស្ថានីយ

លំហូរនៃការអភិវឌ្ឍន៍កម្មវិធី

កូដចាប់ផ្ដើមរបស់ HiFive1 មានលោតទៅ SPI Flash ខាងក្រៅនៅលើក្តារនៅអាសយដ្ឋាន 0x20400000។ អ្នកអាចផ្លាស់ប្តូរកម្មវិធីដែលឧបករណ៍អភិវឌ្ឍន៍ដំណើរការដោយប្រើចំណុចប្រទាក់បំបាត់កំហុស/កម្មវិធីដើម្បីបញ្ចេញកម្មវិធីដែលបានចងក្រងថ្មីទៅក្នុង SPI Flash ។ SiFive គាំទ្រវិធីសាស្រ្តជាច្រើនក្នុងការទទួលបានខ្សែសង្វាក់ឧបករណ៍អភិវឌ្ឍន៍កម្មវិធី។ Freedom Studio (6.2) គឺជា Eclipse-Based IDE ដែលបណ្តុំអ្វីគ្រប់យ៉ាងដែលអ្នកត្រូវការចូលទៅក្នុងការទាញយកតែមួយ។ អ្នកក៏អាចចងក្រងប្រភពដោយខ្លួនឯង ហើយដំណើរការឧបករណ៍បន្ទាត់ពាក្យបញ្ជាជាមួយ Freedom E SDK (6.3)។ ទីបំផុតមានកញ្ចប់ក្តារសម្រាប់ប្រើជាមួយ Arduino IDE (6.4)។ កំណែអភិវឌ្ឍន៍ផ្សេងៗគ្នាទាំងនេះនឹងដំឡើងឧបករណ៍ដូចគ្នាទាំងអស់ ប៉ុន្តែកំណែ ដំឡើងផ្លូវ និងបណ្ណាល័យកម្មវិធីដែលពាក់ព័ន្ធ និងឧ។amples គឺខុសគ្នាសម្រាប់នីមួយៗ។

វេទិកាដែលគាំទ្រ
Freedom Studio ត្រូវបានគាំទ្រនៅលើ Linux, macOS និង Windows ។
ការកសាងឧបករណ៍ដោយដៃ ហើយ Arduino IDE បច្ចុប្បន្នត្រូវបានគាំទ្រតែនៅលើ Linux និង macOS ប៉ុណ្ណោះ។

ការអភិវឌ្ឍន៍កម្មវិធីដោយប្រើ Freedom Studio IDE
SiFive ណែនាំឱ្យបង្កើតកម្មវិធីសម្រាប់ HiFive1 ជាមួយនឹង Eclipse-based Freedom Studio IDE ។ Freedom Studio ត្រូវបានគាំទ្រសម្រាប់ Windows, macOS និង Linux ។ នៅពេលប្រើវិធីនេះ ឧបករណ៍ និងកម្មវិធីបញ្ជាដែលបានចងក្រងឡើងវិញត្រូវបានដំឡើងដោយស្វ័យប្រវត្តិ អ្នកមិនចាំបាច់ទាញយក ឬដំឡើងវាដោយឡែកពីគ្នា ដើម្បីទទួលបានឧបករណ៍ និងឧ។ampលេខកូដ។

អ្នកអាចទទួលបាន Freedom Studio ពី SiFive webគេហទំព័រ៖ https://www.sifive.com/product/tools/

ព័ត៌មានបន្ថែមអំពីរបៀបប្រើវាអាចរកបាននៅក្នុង Freedom Studio Manual៖ https://www.sifive.com/documentation/tools/freedom-studio-manual

ការអភិវឌ្ឍន៍កម្មវិធីដោយប្រើឧបករណ៍បន្ទាត់ពាក្យបញ្ជា
ការទទួលបាន Freedom E SDK Toolchain
Freedom E Software Development Kit ផ្តល់អ្វីៗគ្រប់យ៉ាងដែលត្រូវការដើម្បីចងក្រង ប្ដូរតាមបំណង និងបំបាត់កំហុសកម្មវិធីដំឡើង C, C++ និង/ឬ RISC-V៖ GCC 7.1.0 cross-compilation tool chain, RISC-V enabled GDB និង OpenOCD ជាដើម។ SDK រួមបញ្ចូលផងដែរ ឧampគម្រោងលេខកូដ។ ខ្សែសង្វាក់ឧបករណ៍អាចត្រូវបានចងក្រងពីប្រភពនៅក្នុង SDK ឬទាញយកពី SiFive's webគេហទំព័រជាកញ្ចប់គោលពីរដែលបានចងក្រងឡើងវិញ។

ការទទួលបាន Freedom E SDK Recompiled Binaries Recompiled Binaries អាចទទួលបានពី SiFive's webគេហទំព័រ៖ https://www.sifive.com/product/tools/

ដើម្បីទទួលបានអតីតampគម្រោង le ដោយមិនទាញយកប្រភពខ្សែសង្វាក់ឧបករណ៍ទាំងអស់ អ្នកអាចធ្វើការក្លូនរាក់ៗនៃ Freedom E SDK៖

git ក្លូន https://github.com/sifive/freedom-e-sdk.git

ការចងក្រងឧបករណ៍ Freedom E SDK ពីប្រភព
ជំហាននេះមិនចាំបាច់ទេ ប្រសិនបើអ្នកបានទាញយកប្រព័ន្ធគោលពីរដែលបានចងក្រងឡើងវិញ ដូចដែលបានពិពណ៌នានៅក្នុងផ្នែកមុន។

ដើម្បីក្លូន Freedom E SDK git repository៖

git ក្លូន - កើតឡើងវិញ។ https://github.com/sifive/freedom-e-sdk.git

ដំឡើងកញ្ចប់ចាំបាច់ទាំងអស់ដែលបានពិពណ៌នានៅក្នុង README.md របស់ឃ្លាំង file.

ដើម្បីបង្កើតខ្សែសង្វាក់ឧបករណ៍កម្មវិធី៖

ស៊ីឌីសេរីភាព-e-sdk
បង្កើតឧបករណ៍ BOARD=freedom-e300-hifive1

ដើម្បីរក្សាខ្សែសង្វាក់ឧបករណ៍កម្មវិធីរបស់អ្នកឱ្យទាន់សម័យជាមួយនឹងឃ្លាំងផ្ទុកឡើង៖

ស៊ីឌីសេរីភាព-e-sdk
git pull ម្ចាស់ដើម
git submodule update -init -recursive
បង្កើតឧបករណ៍ BOARD=freedom-e300-hifive1

ការចងក្រងកម្មវិធីកម្មវិធី
ដើម្បីបង្កើតកម្មវិធី C ដែលនឹងត្រូវបានផ្ទុកដោយអ្នកបំបាត់កំហុស/អ្នកសរសេរកម្មវិធីទៅក្នុង SPI Flash សូមប្រើ Freedom E SDK ដើម្បីចងក្រង។ ឧamples ត្រូវបានផ្តល់ជូននៅក្នុងកម្មវិធី/ថតឯកសារ។ ដើម្បីបង្កើតកម្មវិធី៖

ស៊ីឌីសេរីភាព-e-sdk
បង្កើតកម្មវិធីកម្មវិធី=demo gpio BOARD=freedom-e300-hifive1

ដើម្បីចងក្រងតារាងពិន្ទុ Dhrystone ជំនួសវិញ៖

ស៊ីឌីសេរីភាព-e-sdk
បង្កើតកម្មវិធីកម្មវិធី=dhrystone BOARD=freedom-e300-hifive1

ការបង្ហោះកម្មវិធីកម្មវិធី
ដើម្បីអាប់ឡូតកម្មវិធីទៅ SPI flash សូមភ្ជាប់ចំណុចប្រទាក់បំបាត់កំហុសរបស់ក្រុមប្រឹក្សាភិបាល ដូចដែលបានពិពណ៌នានៅក្នុង បន្ទាប់មកប្រតិបត្តិ៖
ស៊ីឌីសេរីភាព-e-sdk បង្កើតកម្មវិធីអាប់ឡូត= BOARD=freedom-e300-hifive1

ការបំបាត់កំហុសកម្មវិធីដែលកំពុងដំណើរការ
ដើម្បីបំបាត់កំហុសកម្មវិធីរបស់អ្នកជាមួយ GDB សូមភ្ជាប់បន្ទះរបស់អ្នក ហើយបើកដំណើរការ OpenOCD នៅក្នុងបង្អួចស្ថានីយមួយ៖
ស៊ីឌីសេរីភាព-e-sdk ធ្វើឱ្យដំណើរការ openocd BOARD=freedom-e300-hifive1
នៅក្នុងបង្អួចស្ថានីយទីពីរ បើកដំណើរការកម្មវិធីបំបាត់កំហុស ដែលនឹងភ្ជាប់ដោយស្វ័យប្រវត្តិទៅគោលដៅ OpenOCD ដែលកំពុងដំណើរការ៖
ស៊ីឌីសេរីភាព-e-sdk ធ្វើឱ្យដំណើរការកម្មវិធី gdb= BOARD=freedom-e300-hifive1
វានឹងចាប់ផ្តើម OpenOCD និង GDB ដោយស្វ័យប្រវត្តិ ភ្ជាប់ទៅក្តារ និងបញ្ឈប់កម្មវិធីដែលកំពុងដំណើរការ។ អ្នកអាចឆ្លងកាត់កម្មវិធីដែលកំពុងដំណើរការដោយជំហាន ឬដំណើរការកម្មវិធីថ្មីដោយប្រើការផ្ទុក។ ឈុតធម្មតានៃពាក្យបញ្ជា GDB គឺអាចរកបានដើម្បីកំណត់ចំណុចឈប់ ពិនិត្យ និងកែប្រែអង្គចងចាំ បន្តការប្រតិបត្តិ។ល។

ការអភិវឌ្ឍន៍កម្មវិធីដោយប្រើ Arduino IDE
SiFive ក៏គាំទ្រការអភិវឌ្ឍន៍កម្មវិធីសម្រាប់ HiFive1 ជាមួយនឹង Arduino IDE ផងដែរ។ នៅពេលប្រើវិធីនេះ Freedom E SDK ត្រូវបានដំឡើងដោយស្វ័យប្រវត្តិ ដូច្នេះអ្នកមិនចាំបាច់ដំឡើងវាដាច់ដោយឡែកនោះទេ។ អនុវត្តតាមជំហានទាំងនេះ៖

ការដំឡើងកញ្ចប់ក្រុមប្រឹក្សាភិបាល HiFive1

  1. ទាញយក និងដំឡើង Arduino IDE តាមការណែនាំនៅ
    https://www.arduino.cc/en/Guide/HomePage
  2. បើកដំណើរការ Arduino IDE
  3. រុករកទៅ File → ចំណូលចិត្ត និងបន្ថែមអ្នកគ្រប់គ្រងក្រុមប្រឹក្សាភិបាលបន្ថែម SiFive URL ដូចដែលបានបង្ហាញនៅក្នុង រូបភាពទី 6.1៖ http://static.dev.sifive.com/bsp/arduino/package_sifive_index.json
  4. បន្ថែមបន្ទះឧបករណ៍អភិវឌ្ឍន៍ SiFive ដោយប្រើកម្មវិធីគ្រប់គ្រងក្រុមប្រឹក្សាភិបាល៖
    ឧបករណ៍ → ក្តារ → អ្នកគ្រប់គ្រងក្តារ។
    ស្វែងរក “SiFive” and click Install to download and install the package. Restart your Arduino IDE, then find the HiFive1 under Tools → Board, as shown in រូបភាពទី 6.2.
    ការដំឡើងកញ្ចប់ក្រុមប្រឹក្សាភិបាល HiFive1
    រូបភាព 6.1៖ ការបន្ថែមបន្ទះ SiFive Dev Kits URL ទៅ Arduino IDE របស់អ្នក។
  5. ជ្រើសរើស SiFive OpenOCD ជាអ្នកសរសេរកម្មវិធីពីម៉ឺនុយឧបករណ៍។
  6. ដើម្បីចងក្រង និងបង្ហោះ ex សាមញ្ញampជ្រើសរើសកម្មវិធី
    File → ឧamples → Basics → Blink
    ចុចប៊ូតុង "ផ្ទុកឡើង" នៅក្នុង Arduino IDE កម្មវិធីរបស់អ្នកនឹងចងក្រង និងបង្ហោះទៅកាន់របស់អ្នក។
    Dev Kit ហើយ LED ពណ៌បៃតងនឹងភ្លឹបភ្លែតៗ។

កូដកញ្ចប់គាំទ្រក្រុមប្រឹក្សាប្រភពបើកចំហ
កូដដែលបានដំឡើងជាមួយកញ្ចប់ Board គឺជាប្រភពបើកចំហ ហើយមានសម្រាប់ view ឬទាញយកនៅ៖ http://github.com/sifive/cinco
កូដកញ្ចប់គាំទ្រក្រុមប្រឹក្សាប្រភពបើកចំហ
រូបភាព 6.2៖ ការជ្រើសរើស HiFive1 ក្នុង Arduino ID

HiFive1 កំណត់ចំណាំបន្ថែម

ជំពូកនេះផ្តល់ព័ត៌មានបន្ថែមមួយចំនួនអំពីរបៀបដែលបន្ទះឈីប FE310-G000 របស់អ្នកត្រូវបានកំណត់រចនាសម្ព័ន្ធនៅលើបន្ទះ HiFive1 ។

ដើម្បីយល់ពីផ្នែកខាងក្នុងរបស់ FE310-G000 សូមមើល
https://dev.sifive.com/documentation/freedom-e310-g000-manual/

សេរីភាព E310 Pinout
ការរចនា Freedom E310 នៅលើ HiFive1 មាន 32 SW-accessible GPIO registers ។ មិនមែនទាំងអស់នេះមាននៅលើកញ្ចប់ 48-pin ហើយដូច្នេះមិនត្រូវបានភ្ជាប់ទៅ GPIO Headers នៅលើក្តារ។ តារាង 7.1 ផ្តល់ការគូសផែនទីរវាងសូហ្វវែរ GPIO អុហ្វសិត និងម្ជុលដែលមានស្លាកនៅលើក្តារ។
រូប ?? ផ្តល់នូវការបង្ហាញក្រាហ្វិកនៃមុខងារម្ជុលរបស់ HiFive1 ។

មាតិកា OTP
FE310-G000 នៅលើក្តារ HiFive1 មានអង្គចងចាំដែលអាចសរសេរកម្មវិធីបានមួយដង (OTP)។ OTP នេះត្រូវបានដឹកជញ្ជូនដោយលេខកូដដែលអនុញ្ញាតឱ្យ HiFive1 របស់អ្នកចាប់ផ្តើមពីការកំណត់ឡើងវិញ (ធៀបនឹងការផ្ទុកកម្មវិធីជាមួយអ្នកសរសេរកម្មវិធី ហើយដំណើរការវា)។ OTP ក៏មានតម្លៃកាត់សម្រាប់លំយោលប្រេកង់ខ្ពស់នៅលើ FE310-G000 របស់អ្នក និងឧបករណ៍កំណត់អត្តសញ្ញាណតែមួយគត់។

មាតិកា OTP គឺមានសារៈសំខាន់សម្រាប់ដំណើរការត្រឹមត្រូវនៃក្រុមប្រឹក្សាភិបាល FE310-G000 និង HiFive1 របស់អ្នក។ អ្នកមានការធ្លាក់ទឹកចិត្តយ៉ាងខ្លាំងពីការកែប្រែមាតិកា OTP ។ មាតិកា OTP មិន​អាច​ត្រូវ​បាន​ស្ដារ​ឡើង​វិញ​ប្រសិន​បើ​បាន​កែប្រែ។

លំដាប់ចាប់ផ្ដើម HiFive1
បន្ទះ HiFive1 ត្រូវបានដឹកជញ្ជូនជាមួយនឹងកម្មវិធីចាប់ផ្ដើមប្រព័ន្ធដែលអាចកែប្រែបាននៅពេលចាប់ផ្តើម SPI Flash (0x20000000) ។ នៅចុងបញ្ចប់នៃការអនុវត្តកម្មវិធីនេះ ស្នូលលោតទៅផ្នែកអ្នកប្រើប្រាស់សំខាន់នៃកូដនៅ 0x20400000។ កម្មវិធីនេះត្រូវបានរចនាឡើងដើម្បីអនុញ្ញាតឱ្យចាប់ផ្ដើមរហ័ស ប៉ុន្តែក៏ជាជម្រើសចាប់ផ្ដើមឡើងវិញ "សុវត្ថិភាព" ប្រសិនបើកម្មវិធី "អាក្រក់" ត្រូវបានបញ្ចេញទៅក្នុង SPI Flash របស់ HiFive1 ។ កម្មវិធី "អាក្រក់" គឺជាកម្មវិធីមួយដែលធ្វើឱ្យវាមិនអាចទៅរួចទេសម្រាប់អ្នកសរសេរកម្មវិធីក្នុងការទំនាក់ទំនងជាមួយ HiFive1 ។ សម្រាប់អតីតample ជាកម្មវិធីដែលបិទនាឡិកាសកម្មរបស់ FE310 ឬដែលធ្វើអោយ FE310 គេងដោយគ្មានវិធីដាស់វាឡើង។

តារាងទី 7.1៖ HiFive1 GPIO អុហ្វសិតទៅលេខ PIN របស់ក្រុមប្រឹក្សាភិបាល

លេខសម្ងាត់ HiFive1

GPIO អុហ្វសិត IOF0 IOF1

LED

0

16

UART0: RX
UART0: TX

PWM1 ១
PWM1 ១
PWM1 ១
PWM1 ១

បៃតង
ខៀវ
ក្រហម

1

17

2

18
3

19

4

20
5

21

6

22
7

23

8

0

SPI1: SS0
PI1: SD0/MOSI
SPI1: SD1/MISO
SPI1: SCK

PWM0 ១
PWM0 ១
PWM0 ១
PWM0 ១

9

1

10

2
11

3

12

4
13

5

14

មិនបានភ្ជាប់
SPI1: SS2
SPI1: SS3
PWM2 ១
PWM2 ១
PWM2 ១
PWM2 ១
15

9

16

10
17

11

18

12
19

13

កម្មវិធីមិនល្អអាចចាប់ផ្តើមឡើងវិញបានគ្រប់ពេលដោយប្រើប៊ូតុង RESET ហើយការប្រើកម្មវិធីចាប់ផ្ដើមប្រព័ន្ធ "សុវត្ថិភាព" អាចត្រូវបានបញ្ឈប់ មុនពេលពួកវាធ្វើសកម្មភាពដែលមិនមានសុវត្ថិភាព។

ដើម្បីដំណើរការរបៀបចាប់ផ្ដើម "ធម្មតា" ចុចប៊ូតុង RESET នៅលើ HiFive1 ។ បន្ទាប់ពីប្រហែល 1 វិនាទី LED ពណ៌បៃតងនឹងបញ្ចេញពន្លឺរយៈពេល 1/2 វិនាទីបន្ទាប់មកកម្មវិធីអ្នកប្រើប្រាស់នឹងដំណើរការ។

ដើម្បីដំណើរការរបៀបចាប់ផ្ដើម "សុវត្ថិភាព" ចុចប៊ូតុង RESET ។ នៅពេលដែលអំពូល LED ពណ៌បៃតងលោតភ្លាមចុចប៊ូតុង RESET ម្តងទៀត។ បន្ទាប់ពី 1 វិនាទី LED ពណ៌ក្រហមនឹងភ្លឹបភ្លែតៗ។ កម្មវិធីអ្នកប្រើប្រាស់នឹងមិនប្រតិបត្តិទេ ហើយអ្នកសរសេរកម្មវិធីអាចភ្ជាប់បាន។ ដើម្បីចេញពីរបៀបចាប់ផ្ដើម "សុវត្ថិភាព" ចុចប៊ូតុង RESET ជាពេលវេលាចុងក្រោយ។

តារាងទី 7.2៖ មាតិកា OTP លំនាំដើម HiFive1

អុហ្វសិត OTP តម្លៃ

ការពិពណ៌នាវាល

0x0000

7f50106f (j  0x1FF4)

កំណត់វ៉ិចទ័រឡើងវិញពី 0x1000 ។ ប្រតិបត្តិការលោតដែលទាក់ទងទៅប្លុករបងចុងក្រោយនៅក្នុង OTP ។

0x0004

00000000

រួមបញ្ចូល Config String ពី 0x1004។ វា​ត្រូវ​បាន​ទុក​ចោល​ដោយ​សារ​តែ​ការ​បញ្ជាក់​របស់​ Config String មិន​ទាន់​ត្រូវ​បាន​បញ្ចប់​នៅ​ឡើយ​ទេ។

0x1FE4

ប្រែប្រួល

អត្តសញ្ញាណប័ណ្ណ

0x1FE8

00000000

LFROSC Trim Setting ទុកចោលនៅលើ HiFive1

0x1FEC

ប្រែប្រួល

ការកំណត់ការកាត់ HFROSC សម្រាប់ 72MHz

0x1FF0

0x00000001

បង្ហាញថាវាលផ្សេងទៀតត្រូវបានកម្មវិធីដោយជោគជ័យ

0x1FF4

0x0000000F (របង)

វាដំណើរការជា NOP ដែលអនុញ្ញាតឱ្យមានការកែប្រែកម្មវិធីដែល OTP ប្រតិបត្តិនៅពេលក្រោយ។ ពាក្យ​នេះ​អាច​ត្រូវ​បាន​កែប្រែ​ទៅ​ជា​ការ​លោត​ទាក់ទង​ខ្លី​មួយ​កន្លែង​ផ្សេង​ទៀត​ក្នុង OTP ។ ប្លុកការណែនាំគោលដៅក៏គួរតែចាប់ផ្តើមជាមួយនឹងការណែនាំអំពីរបង ដើម្បីអនុញ្ញាតឱ្យមានការកែប្រែនៅពេលក្រោយត្រូវបានដាក់ច្រវាក់តាមរបៀបនេះ។

0x1FF8

200002b7 (lui t0, 0x20000)

ផ្ទុក t0 ជាមួយ 0x20000000

0x1FFC

00028067 (jr t0)

លោតទៅការចាប់ផ្តើម SPI Flash

HiFive 1 Pinout
HiFive 1 Pinout

រូបតំណាង២០១៤ ដោយ បូនី
2016 ដោយ SiFive, Inc
រូបថតរបស់ SiFive, Inc.

សម្រាប់ព័ត៌មានបន្ថែម

ព័ត៌មានបន្ថែម កំណែចុងក្រោយបំផុតនៃការណែនាំនេះ និងការគាំទ្រ files អាចត្រូវបានរកឃើញនៅ http://dev.sifive.com/hifive1.

សំណួរត្រូវបានឆ្លើយយ៉ាងល្អបំផុតនៅលើវេទិកា SiFive នៅ http://forums.sifive.com.

ព័ត៌មានបន្ថែមអំពី RISC-V ជាទូទៅមាននៅ http://riscv.org.

 

ឯកសារ/ធនធាន

ម៉ូឌុលប៊្លូធូស SiFive HiFive1 [pdf] សៀវភៅណែនាំរបស់ម្ចាស់
ម៉ូឌុលប៊្លូធូស HiFive1, HiFive1, ម៉ូឌុលប៊្លូធូស

ឯកសារយោង

ទុកមតិយោបល់

អាសយដ្ឋានអ៊ីមែលរបស់អ្នកនឹងមិនត្រូវបានផ្សព្វផ្សាយទេ។ វាលដែលត្រូវការត្រូវបានសម្គាល់ *