សៀវភៅណែនាំរបស់ម្ចាស់ម៉ូឌុលប៊្លូធូស 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
រូបភាព 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 ហើយបានបញ្ជូនបណ្ណាល័យរបស់ពួកគេ។
- dafruit Resistive Touchscreen & LED Display៖
https://www.adafruit.com/products/1651
បណ្ណាល័យ៖ http://github.com/sifive/Adafruit_ILI9341 - មិត្ត BLE SPI របស់ Adafruit៖
https://www.adafruit.com/products/2633
បណ្ណាល័យ៖ http://github.com/sifive/Adafruit_BluefruitLE_nRF51
ជាទូទៅ ប្រឡោះដែលទាក់ទងជាមួយ 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៖
- ជាមួយនឹងការភ្ជាប់ចំណុចប្រទាក់បំបាត់កំហុសរបស់ក្តាររបស់អ្នក ត្រូវប្រាកដថាឧបករណ៍របស់អ្នកបង្ហាញជាមួយពាក្យបញ្ជា lsusb:> lsusb...
Bus XXX ឧបករណ៍ XXX: ID 0403:6010 ឧបករណ៍បច្ចេកវិទ្យានាពេលអនាគត
International, Ltd FT2232C Dual USB-UART/FIFO IC - កំណត់ច្បាប់ 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” - មើលថាតើបន្ទះរបស់អ្នកបង្ហាញជាឧបករណ៍សៀរៀលដែលជាកម្មសិទ្ធិរបស់ក្រុម 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 - បន្ថែមខ្លួនអ្នកទៅក្រុម plugdev ។ អ្នកអាចប្រើពាក្យបញ្ជា whoami ដើម្បីកំណត់ឈ្មោះអ្នកប្រើប្រាស់របស់អ្នក។
> whoami ឈ្មោះអ្នកប្រើរបស់អ្នក > sudo usermod -a -G plugdev ឈ្មោះអ្នកប្រើរបស់អ្នក។ - ចេញហើយចូលវិញ បន្ទាប់មកពិនិត្យមើលថាឥឡូវនេះអ្នកជាសមាជិកនៃក្រុម 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
- ទាញយក និងដំឡើង Arduino IDE តាមការណែនាំនៅ
https://www.arduino.cc/en/Guide/HomePage - បើកដំណើរការ Arduino IDE
- រុករកទៅ File → ចំណូលចិត្ត និងបន្ថែមអ្នកគ្រប់គ្រងក្រុមប្រឹក្សាភិបាលបន្ថែម SiFive URL ដូចដែលបានបង្ហាញនៅក្នុង រូបភាពទី 6.1៖ http://static.dev.sifive.com/bsp/arduino/package_sifive_index.json
- បន្ថែមបន្ទះឧបករណ៍អភិវឌ្ឍន៍ 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.
រូបភាព 6.1៖ ការបន្ថែមបន្ទះ SiFive Dev Kits URL ទៅ Arduino IDE របស់អ្នក។ - ជ្រើសរើស SiFive OpenOCD ជាអ្នកសរសេរកម្មវិធីពីម៉ឺនុយឧបករណ៍។
- ដើម្បីចងក្រង និងបង្ហោះ 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 |
PWM1 ១ |
បៃតង |
1 |
17 |
|||
2 |
18 | |||
3 |
19 |
|||
4 |
20 | |||
5 |
21 |
|||
6 |
22 | |||
7 |
23 |
|||
8 |
0 |
SPI1: SS0 |
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

២០១៤ ដោយ បូនី
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, ម៉ូឌុលប៊្លូធូស |