GOWIN FPGA ဖွံ့ဖြိုးတိုးတက်ရေးဘုတ်အဖွဲ့ RISCV ပရိုဂရမ်းမင်း
မူပိုင်ခွင့် © 2022 Guangdong Gowin Semiconductor Corporation မူပိုင်ခွင့်များရယူပြီး။
Guangdong Gowin Semiconductor Corporation ၏ ကုန်အမှတ်တံဆိပ်တစ်ခုဖြစ်ပြီး တရုတ်နိုင်ငံ၊ US မူပိုင်ခွင့်နှင့် ကုန်အမှတ်တံဆိပ်ရုံးနှင့် အခြားနိုင်ငံများတွင် မှတ်ပုံတင်ထားသည်။ အမှတ်တံဆိပ် သို့မဟုတ် ဝန်ဆောင်မှုအမှတ်အသားအဖြစ် သတ်မှတ်ထားသော အခြားစကားလုံးများနှင့် လိုဂိုများအားလုံးသည် ၎င်းတို့၏ သက်ဆိုင်ရာကိုင်ဆောင်ထားသူများ၏ ပိုင်ဆိုင်မှုဖြစ်သည်။ GOWINSEMI ၏ ကြိုတင်ရေးသားထားသော သဘောတူညီချက်မပါဘဲ ဤစာရွက်စာတမ်း၏ အစိတ်အပိုင်းကို မည်သည့်ပုံစံ သို့မဟုတ် သင်္ကေတများ၊ အီလက်ထရွန်းနစ်၊ စက်ပိုင်းဆိုင်ရာ၊ မိတ္တူကူးခြင်း၊ မှတ်တမ်းတင်ခြင်း သို့မဟုတ် အခြားနည်းဖြင့် ပြန်လည်ထုတ်လုပ်ခြင်း သို့မဟုတ် ကူးယူခြင်းမပြုရ။
ရှင်းလင်းချက်
GOWINSEMI သည် တာဝန်မကင်းကြောင်းနှင့် အာမခံချက်မပေးဘဲ (ဖော်ပြထားသည်ဖြစ်စေ သို့မဟုတ် သွယ်ဝိုက်ဖော်ပြသည်ဖြစ်စေ) နှင့် GOWINSEMI စည်းမျဥ်းစည်းကမ်းများတွင်ဖော်ပြထားသည်မှလွဲ၍ သင်၏ဟာ့ဒ်ဝဲ၊ ဆော့ဖ်ဝဲ၊ ဒေတာ သို့မဟုတ် ပစ္စည်းများအသုံးပြုမှုမှ ဖြစ်ပေါ်လာသော ပျက်စီးဆုံးရှုံးမှုများအတွက် တာဝန်မရှိပါ။ ရောင်းချခြင်း ဤစာတမ်းပါ အချက်အလက်အားလုံးကို ပဏာမအဖြစ် မှတ်ယူသင့်သည်။ GOWINSEMI သည် ကြိုတင်သတိပေးခြင်းမရှိဘဲ ဤစာရွက်စာတမ်းအား အချိန်မရွေး အပြောင်းအလဲပြုလုပ်နိုင်ပါသည်။ ဤစာရွက်စာတမ်းကိုမှီခိုသူတိုင်းသည် လက်ရှိစာရွက်စာတမ်းနှင့်အမှားအတွက် GOWINSEMI ကိုဆက်သွယ်သင့်သည်။
ပြန်လည်ပြင်ဆင်မှုမှတ်တမ်း
ရက်စွဲ | ဗားရှင်း | ဖော်ပြချက် |
၁၂/၂၄/၃၆ | 1.0E | ကနဦးဗားရှင်းကို ထုတ်ဝေခဲ့သည်။ |
၁၂/၂၄/၃၆ |
1.1E |
|
နိဒါန်း
AE250 မိတ်ဆက်
AE250 သည် 32-bit RISC-V MCU စနစ်တစ်ခုဖြစ်သည်။ ၎င်း၏ဖွဲ့စည်းပုံကို ပုံ 1-1 တွင်ပြသထားသည်။
ပုံ 1-1 AE250 Structure Diagram
Gowin FPGA ဖွံ့ဖြိုးတိုးတက်ရေးဘုတ်အဖွဲ့ကို အခြေခံ၍ RISC-V AE250 MCU ဖွံ့ဖြိုးတိုးတက်ရေးနှင့် အမှားရှာပြင်စနစ်အား ပုံ 1-2 တွင် ပြထားသည်။
ပုံ 1-2 ဖွံ့ဖြိုးတိုးတက်မှုနှင့် အမှားရှာပြင်စနစ် တည်ဆောက်ပုံ ပုံကြမ်း
ဖွံ့ဖြိုးရေးဘုတ်အဖွဲ့ရှိ FPGA ချစ်ပ်အား PC ရှိ Gowin Programmer ကို အသုံးပြု၍ AE250 MCU အဖြစ် ပြင်ဆင်သတ်မှတ်ထားပြီး၊ Debug Cable ကို ချိတ်ဆက်ပြီးနောက်၊ သင်သည် AndeSight RDS v311 ဆော့ဖ်ဝဲလ်ဖြင့် ထည့်သွင်းထားသော ပရိုဂရမ်ဖွံ့ဖြိုးတိုးတက်မှုနှင့် အမှားရှာပြင်ခြင်းတို့ကို လုပ်ဆောင်နိုင်သည်။
ပြင်ဆင်မှုများ
ဖွံ့ဖြိုးတိုးတက်မှုနှင့် အမှားရှာပြင်ခြင်းအတွက် Gowin FPGA နှင့် AE250 ကို အသုံးမပြုမီ၊ အောက်ပါကိရိယာများကို ပြင်ဆင်ထားရန် လိုအပ်သည်-
- FPGA ဖွံ့ဖြိုးတိုးတက်မှုဘုတ်အဖွဲ့၏ Gowin GW2A စီးရီး။
- FPGA ချစ်ပ်ကို ပြင်ဆင်ခြင်းနှင့် ဒေါင်းလုဒ်လုပ်ခြင်းအတွက် Gowin ဆော့ဖ်ဝဲ တပ်ဆင်မှု ပက်ကေ့ချ်။
- AndeSight RDS v311 ထည့်သွင်းထားသော ပရိုဂရမ်ကို ဖန်တီးခြင်းနှင့် အမှားရှာခြင်းအတွက် AndeSight
- Debug Cable ကို ထည့်သွင်းထားသော ပရိုဂရမ်ကို ဒေါင်းလုဒ်လုပ်ပြီး အမှားရှာပြင်ခြင်းအတွက် အသုံးပြုပြီး မူရင်းမှာ AICE-MINI+ ဖြစ်သည်။ သုံးစွဲသူများကိုယ်တိုင် ဝယ်ယူရန် လိုအပ်ပါသည်။
မှတ်ချက်!
- UART မှတစ်ဆင့် အချက်အလက်များ ထုတ်ပေးရန် လိုအပ်ပါက၊ UART သို့ USB ကြိုးတစ်ခု လိုအပ်ပါသည်။
- အသုံးပြုရန် အခြားသော ဆက်စပ်ပစ္စည်းများ လိုအပ်ပါသည်။
တီထွင်ခြင်းနှင့် အမှားရှာခြင်း အဆင့်များ
GW250A-2C ဖွံ့ဖြိုးတိုးတက်မှုဘုတ်အဖွဲ့အပေါ် အခြေခံ၍ RISC-V AE55 MCU ကို ဖန်တီးခြင်းနှင့် အမှားရှာခြင်းအတွက် အခြေခံအဆင့်များမှာ အောက်ပါအတိုင်းဖြစ်သည်-
- ဆော့ဖ်ဝဲများကို ထည့်သွင်းပါ- Gowin ဆော့ဖ်ဝဲလ်ကို AE250 RTL ဒီဇိုင်းပုံစံနှင့် Bitstream ထုတ်ပေးရန်အတွက် အသုံးပြုပါသည်။ file ဒီဇိုင်း၏; AndeSight RDS v311 ဆော့ဖ်ဝဲလ်ကို မြှုပ်သွင်းထားသော ပရိုဂရမ်များကို တီထွင်ရန်နှင့် အမှားရှာရန် အသုံးပြုသည်။ အမှားရှာပြင်ခြင်းအတွက် အခြားဆော့ဖ်ဝဲလ်များနှင့် ဒရိုက်ဗာများလည်း လိုအပ်ပါသည်။
- ဖွံ့ဖြိုးတိုးတက်မှုဘုတ်အဖွဲ့၏ ပါဝါထောက်ပံ့မှုနှင့် ဒေါင်းလုဒ်ကြိုးကို စီစဉ်သတ်မှတ်ပါ။ Bitstream file AE250_chip သည် Gowin Programmer ကို အသုံးပြု၍ ဖွံ့ဖြိုးတိုးတက်မှုဘုတ်အဖွဲ့ရှိ FPGA ချစ်ပ်သို့ ဒေါင်းလုဒ်လုပ်ထားပြီး AE250 သည် ဖွံ့ဖြိုးတိုးတက်ရေးဘုတ်အဖွဲ့တွင် လုပ်ဆောင်နေပါသည်။
- ထည့်သွင်းထားသော ပရောဂျက်အသစ်ကို ဖန်တီးရန် သို့မဟုတ် ကုဒ်သွင်းခြင်း၊ စုစည်းခြင်းနှင့် အခြားလုပ်ဆောင်မှုများအတွက် ရှိပြီးသား ပရောဂျက်တစ်ခုကို ဖွင့်ရန် RDS ဆော့ဖ်ဝဲကို ဖွင့်ပါ။ AE250 အမှားရှာပြင်ခြင်းအတွက် အသုံးပြုသည့် အမှားရှာကြိုးကို ချိတ်ဆက်ပါ၊ ပရောဂျက်စုစည်းမှုရလဒ်ကို AE250 ရှိ ညွှန်ကြားချက်မှတ်ဉာဏ် (ILM) သို့ ဒေါင်းလုဒ်လုပ်ပြီး ချစ်ပ်ပေါ်တွင် အမှားရှာစတင်ပါ။
- အမှားရှာပြင်နေစဉ်တွင် သင်သည် AE250 ၏ UART အင်တာဖေ့စ်ကို PC သို့ချိတ်ဆက်ရန် UART သို့ USB ကြိုးကိုသုံးနိုင်ပြီး အဝင်နှင့်အထွက်လုပ်ဆောင်ချက်များကိုလုပ်ဆောင်ရန် RDS ရှိ တပ်ဆင်ထားသော အမှတ်စဉ်ဂိတ်ကိုအသုံးပြုပါ။ အဝင်/အထွက် လုပ်ဆောင်ချက်များအတွက် LED အညွှန်းများ၊ သော့များ သို့မဟုတ် ပြင်ပ ပင်နံပါတ်များသို့ ချိတ်ဆက်ရန် GPIO ကို အသုံးပြုနိုင်သည်။ I2C၊ SPI၊ Ethernet နှင့် အခြားအရံပစ္စည်းများကိုလည်း အသုံးပြုရန် ရွေးချယ်နိုင်သည်။
- AE250 သည် SPI မှတစ်ဆင့် Flash သို့ ချိတ်ဆက်နိုင်ပြီး Gowin Programmer ကို အသုံးပြု၍ ထည့်သွင်းထားသော ပရိုဂရမ်၏ စုစည်းမှုရလဒ်ကို Flash သို့ ဒေါင်းလုဒ်လုပ်နိုင်ပါသည်။ ချစ်ပ်ကို ပါဝါဖွင့်ထားသောအခါ၊ AE250 သည် SPI Flash တွင် ထည့်သွင်းထားသော ပရိုဂရမ်ကို အလိုအလျောက်ဖတ်ပြီး စတင်မည်ဖြစ်သည်။ FPGA Bitstream ကိုကယ်တင်သော Flash ကိုသင်ပြန်သုံးနိုင်သည်။ အချို့သည် FPGA bitstream ကို သိမ်းဆည်းနိုင်ပြီး အချို့သည် မြှုပ်သွင်းထားသော ပရိုဂရမ်များ၏ စုစည်းမှုရလဒ်များကို သိမ်းဆည်းနိုင်သည်။ ဒါက လက်တွေ့ကျပြီး ချွေတာတဲ့နည်းလမ်းပါ။
အခန်း 2 Debug Cable Connection Instructions၊ အခန်းကို သင်ကြည့်ရှုနိုင်ပါသည်။
3 RDS အတွက် ညွှန်ကြားချက်များကို အသုံးပြုပါ၊ အသေးစိတ်အဆင့်များအတွက် အခန်း 4 အကိုးအကားဒီဇိုင်း။
အမှားရှာပြင်ခြင်း ကေဘယ်လ်ချိတ်ဆက်မှု ညွှန်ကြားချက်များ
RDS + AE250 သည် ပုံမှန်အားဖြင့် AICE-MINI+ အမှားရှာပြင်ကြိုးကို အသုံးပြုသည်။ အပြင်ပိုင်းကို ပုံ 2-1 တွင် ဘယ်ဘက်တွင် ပြထားပြီး ပင်များကို ပုံ 2-1 တွင် ညာဘက်တွင် ပြထားသည်။ ၎င်းသည် 12-pin interface တစ်ခုဖြစ်သည်။ ပုံတွင် pin 1 သည် ဗလာဖြစ်ကြောင်း သတိပြုသင့်သည်။ ကေဘယ်ကို မှန်ကန်စွာချိတ်ဆက်ပြီး RDS ကိုဖွင့်သောအခါ ပုံရှိ အဝါရောင်အကွက်ဖြင့် အမှတ်အသားပြုထားသော အနီရောင် LED မီးသည် ထွက်သွားပါမည်။
ပုံ 2-1 AICE-MINI+ အမှားအယွင်းကြိုးနှင့် ၎င်း၏ပင်နံပါတ်များ
AICE-MINI+ အမှားရှာကြိုး၏ ပင်နံပါတ် အဓိပ္ပါယ်မှာ ဇယား 2-1 တွင် ပြထားသည့်အတိုင်း ဖြစ်သည်။ Pin 1 ကို အလွတ်တစ်ခုနှင့် သက်ဆိုင်သော No Connection (NC) အဖြစ် သတ်မှတ်ကြောင်း သတိပြုသင့်သည်။ VREF သည် 3.3V ပါဝါ pin ကိုချိတ်ဆက်ရန် လိုအပ်ပြီး GND သည် pin 3 သို့မဟုတ် pin 5 ကိုချိတ်ဆက်ရန် လိုအပ်သည်။
ဇယား 2-1 AICE-MINI+ အမှားအယွင်း Cable Pin အဓိပ္ပာယ်ဖွင့်ဆိုချက်
ပင်နံပါတ် | AICE-MINI+ Debug Cable Pin |
1 | NC |
2 | TSRST_N |
3 | GND |
4 | TTMS |
5 | GND |
6 | TCK |
7 | VREF |
8 | NC |
9 | NC |
10 | TTRST_N |
11 | TTDO |
12 | TTDI |
RDS အတွက် ညွှန်ကြားချက်များကို အသုံးပြုပါ။
RDS တပ်ဆင်ခြင်း။
တပ်ဆင်မှုအထုပ်ကို ဇစ်ဖွင့်ပြီး Windows/Disk1 ကိုထည့်ပါ။ install လုပ်ရန် setup.exe ကို နှစ်ချက်နှိပ်ပါ။ ထည့်သွင်းစဉ်အတွင်း အထူးဆက်တင်များမလိုအပ်ပါ။ တပ်ဆင်နေစဉ်အတွင်း Driver ကိုထည့်သွင်းရန်ရှိမရှိ မေးမြန်းသည့် dialog box ပေါ်လာမည်ဖြစ်ပြီး၊ ကျေးဇူးပြု၍ yes ကိုရွေးချယ်ပါ။ တပ်ဆင်ပုံအဆင့်ဆင့်အတွက် ကြည့်ပါ။
AndeSight_RDS_v3.2_Installation_Guide_UM207_V1.0.pdf၊ တပ်ဆင်မှုပက်ကေ့ချ်တွင် တွေ့နိုင်ပါသည်။
- တပ်ဆင်မှုလမ်းကြောင်းနှင့် အလုပ်နေရာလမ်းကြောင်းကို သတ်မှတ်သည့်အခါ၊ တရုတ်စာလုံးများ သို့မဟုတ် နေရာလွတ်များ မပါဝင်ပါနှင့်၊ သို့မဟုတ် ၎င်းသည် runtime error ဖြစ်လိမ့်မည်။
- RDS ၏ လက်ရှိဗားရှင်းသည် ပုံမှန်အားဖြင့် AICE-MINI+ Cable ကို ပံ့ပိုးပေးသည်။
- GOWIN ပရိုဂရမ်မာသည် RDS ကိုထည့်သွင်းပြီးနောက် ဖွံ့ဖြိုးတိုးတက်မှုဘုတ်အဖွဲ့သို့ ချိတ်ဆက်၍မရပါက၊ Gowin ပရိုဂရမ်မာဒရိုက်ဗာကို ပြန်လည်ထည့်သွင်းခြင်းဖြင့် ပြင်ဆင်နိုင်သည်။
- အမှတ်စဉ်နံပါတ်နှင့် လက်မှတ်အတွက် files၊ ကျေးဇူးပြု၍ Gowin Semiconductor Corp.
ပရောဂျက်အသစ်တစ်ခုဖန်တီးပါ။
နှိပ်ပါ။ File ပုံ 3-1 တွင်ပြထားသည့်အတိုင်း New C Project ၏ ဖွဲ့စည်းမှုစနစ်ထည့်သွင်းရန် > New > Project > Andes C ပရောဂျက် > နောက်တစ်ခု RDS interface တွင်
ပုံ 3-1 ပရောဂျက်အသစ်တစ်ခုဖန်တီးပါ။
C ပရောဂျက်အသစ်အတွက်၊ အောက်ပါဘောင်များကို ပြင်ဆင်သတ်မှတ်ရန် လိုအပ်သည်-
- ပရောဂျက်အမည်
- တည်နေရာ- မူရင်းတည်နေရာသည် လက်ရှိ အလုပ်နေရာဖြစ်သည်။
- ချိတ်ဆက်မှုပုံစံကို ICE ဟုသတ်မှတ်ထားပြီး ဖွံ့ဖြိုးတိုးတက်မှုဘုတ်အဖွဲ့အား ICE အမှားရှာပြင်ကြိုးဖြင့် ချိတ်ဆက်ထားကြောင်း ညွှန်ပြသည်။ emulator ကို စမ်းသပ်ပလက်ဖောင်းအဖြစ် အသုံးပြုပါက၊ SID ကို ရွေးချယ်ပါ။
- Chip Pro အတွက်fileGowin FPGA အရ အကောင်းဆုံးဖြစ်အောင်ပြုလုပ်ထားသော ADP-AE250-N25-GOWIN ကိုရွေးချယ်ပါ။
- ပရောဂျက်အမျိုးအစားတွင် ဗလာပရောဂျက်နှင့် Hello World ANSI C ပရောဂျက်တို့ ပါဝင်သည်။
- Toolchains အတွက်၊ nds32le-elf-mculib-v5m သည် မူရင်းဖြစ်သည်။
ပရောဂျက်အသစ်တစ်ခုကို ဖန်တီးပြီးနောက်၊ ပရောဂျက် Explorer ရှိ ပရောဂျက်အမည်ပေါ်တွင် ညာဖက်ကလစ်နှိပ်ပါ၊ drop-down menu မှ Build Project ကိုရွေးချယ်ပါ သို့မဟုတ် project ကို compile လုပ်ပြီးချိတ်ဆက်ရန် toolbar ရှိ ”” ကိုနှိပ်ပါ။ ပရောဂျက်ကို သန့်ရှင်းစေရန်အတွက် drop-down menu မှ Clean Project ကိုရွေးချယ်ပါ။
သွင်းကုန်၊ ပို့ကုန် ပရောဂျက်တစ်ခု
ပုံ 3-2 တွင်ပြထားသည့်အတိုင်း "သွင်းကုန်" သို့မဟုတ် "ပို့ကုန်" ကိုရွေးချယ်ရန် Project Explorer ၏နေရာကိုညာကလစ်နှိပ်ပါ။
ပုံ 3-2 ပရောဂျက်တစ်ခုကို တင်သွင်း/တင်ပို့ခြင်း။
ပရောဂျက်တစ်ခုကိုတင်သွင်းရန် “Import > General > Existing Project into workspace” ကိုနှိပ်ပါ၊ နှင့် အင်တာဖေ့စ်သည် ပုံ 3-3 တွင်ပြထားသည့်အတိုင်းဖြစ်သည်။ “အမြစ်လမ်းညွှန်ကိုရွေးချယ်ပါ” ကိုရွေးချယ်သောအခါ၊ ပရောဂျက်ကို ဖိုင်တွဲတွင် ထည့်သွင်းပါ။ “Select archive fil” ကို ရွေးသောအခါ၊ ပရောဂျက်ကို ဇစ်တွင် ထည့်သွင်းပါ။
ပုံ 3-3 ပရောဂျက်တစ်ခုကို တင်သွင်းပါ။
“Export…> Archive” ကို ရွေးပါ။ Fileပုံ 3-4 တွင်ပြထားသည့်အတိုင်း ပို့ကုန်ပရောဂျက် interface ကိုဖွင့်ရန်။ တင်ပို့မည့် ပရောဂျက်ကို ရွေးချယ်ပြီးနောက်၊ ဖိသိပ်မှုဖော်မတ်၊ လမ်းကြောင်းကို သိမ်းဆည်းခြင်း စသည်ဖြင့် တင်ပို့မှုကို အပြီးသတ်နိုင်သည်။
ပုံ 3-4 ပရောဂျက်တစ်ခုကို တင်ပို့ပါ။
Flash သို့ ပရိုဂရမ်များကို ဒေါင်းလုဒ်လုပ်ပါ။
AE250 သည် Flash မှ စတင်၍ ပံ့ပိုးပေးသည်၊ ထို့နောက် Flash မှ မြှုပ်သွင်းထားသော ပရိုဂရမ်ကို SPI မျက်နှာပြင်မှတစ်ဆင့် ဖတ်ပြပြီး ၎င်းကို ILM တွင် သိမ်းဆည်းကာ၊ ထို့နောက် မြှုပ်သွင်းထားသော ပရိုဂရမ်ကို လုပ်ဆောင်ပါသည်။ အကြံပြုထားသောနည်းလမ်းမှာ FPGA Bitstream ကိုကယ်တင်သော SPI Flash ကို ပြန်လည်အသုံးပြုရန်ဖြစ်သည်။ FPGA Bitstream ကိုကယ်တင်ရန် Flash ၏ပထမတစ်ဝက်ကိုအသုံးပြုပြီး binary ကိုသိမ်းဆည်းရန်ကျန်ရှိသည်။ fileထည့်သွင်းထားသော ပရိုဂရမ်များ။
- Gowin Software တွင် IP core generator ကိုဖွင့်ပြီး AE250 RTL ဘောင်များကိုခေါ်ဆိုပါ။ ပုံ 0-80400000 တွင်ပြထားသည့်အတိုင်း SMU interface ကိုဖွင့်ရန် SMU ကို နှစ်ချက်နှိပ်ပြီး "System Reset Vector Default" ကို 3x5 သို့ သတ်မှတ်ပါ။ Bitstream ၏သိမ်းဆည်းလိပ်စာအဖြစ် စုစုပေါင်း 0M bytes ဖြင့် SPI Flash ၏ 0~400000x4 space ကို သတ်မှတ်ပါ။ 0x400000 မှစတင်၍ binary ၏ save address အဖြစ်အသုံးပြုသည်။ fileထည့်သွင်းထားသော ပရိုဂရမ်များ။
ပုံ 3-5 System Reset Vector Default
- SPI1 အင်တာဖေ့စ်ကိုဖွင့်ရန် နှစ်ချက်နှိပ်ပါ၊ “SPI1 Support” ကိုစစ်ဆေးပြီး “SPI1 Memory Map Space Base Address” ကို 1x0 သို့ ပုံ 80400000 3 တွင်ပြထားသည့်အတိုင်း သတ်မှတ်ပါ။
ပုံ 3-6 SPI1 ဖွဲ့စည်းမှု
- RTL ဒီဇိုင်း၏ ရုပ်ပိုင်းဆိုင်ရာ ကန့်သတ်ချက်များတွင်၊ SPI1 အင်တာဖေ့စ်ကို SPI Flash နှင့် ချိတ်ဆက်သင့်ပြီး SPI1 အင်တာဖေ့စ်အား အောက်ပါဇယားအရ ရုပ်ပိုင်းအရ ကန့်သတ်ထားသင့်သည်။ မတူညီသော FPGA ချစ်ပ်များအတွက်၊ MSPI အင်တာဖေ့စ်တည်နေရာမှာလည်း ကွဲပြားပြီး ကန့်သတ်ချက်သည် သီးခြားအခြေအနေအတွက် သီးသန့်ဖြစ်သင့်သည်။
ဇယား 3-1 SPI1 အင်တာဖေ့စ် ရုပ်ပိုင်းဆိုင်ရာ ကန့်သတ်ချက်များAE250 SPI1 အင်တာဖေ့စ် FPGA MSPI အင်တာဖေ့စ် CSN MCSN CLK MCLK MISO MSO မောရှေ MSI - MSPI interface ကို ပုံမှန် IO အဖြစ် ပြန်သုံးပါ။ Gowin Software ၏ “လုပ်ငန်းစဉ်” ဝင်းဒိုးတွင်၊ “နေရာနှင့် လမ်းကြောင်း” ကို ညာဖက်ကလစ်နှိပ်ပါ၊ ပေါ်လာသော မီနူးရှိ “ဖွဲ့စည်းမှု” ကို ရွေးချယ်ပါ။ “Dual Purpose Pin” တက်ဘ်ကို ရွေးချယ်ပြီး “ပုံမှန် IO အဖြစ် MSPI ကိုသုံးပါ” ကိုစစ်ဆေးပြီး နေရာချထားခြင်းနှင့် လမ်းကြောင်းသတ်မှတ်ခြင်း အပြီးသတ်ရန် “OK” ကိုနှိပ်ပါ။
ပုံ 3-7 တွင် MSPI Interface ကို Regular IO အဖြစ် သတ်မှတ်ပါ။
- ထည့်သွင်းထားသော ပရိုဂရမ် ပါရာမီတာ ဆက်တင်များကို ပြင်ဆင်ပါ။ ပထမဦးစွာ linker script တွင် bootloader ၏ parameters များကိုမွမ်းမံပါ။ AE250 မြှုပ်သွင်းထားသော ပရိုဂရမ်ရှိ linker script ကို SAG မှ အလိုအလျောက်ထုတ်ပေးပါသည်။ file၊ ၎င်းကို SAG တွင်မွမ်းမံသင့်သည်။ file. ae250.sag ကိုဖွင့်ပါ၊ BOOTLOADER ကိုရှာပြီး RTL ဒီဇိုင်းတွင် ပြထားသည့်အတိုင်း System Reset Vector Default ၏တန်ဖိုးသို့ ပြင်ဆင်ပါ။ ထို့နောက် config.h ကို ပြင်ဆင်ပါ။ src/bsp/config/config.h ကိုဖွင့်ပြီး မက်ခရို အဓိပ္ပါယ်ဖွင့်ဆိုချက်ကို ရှာပါ။
“BUILD_MODE” နှင့် “BUILD_BURN” သို့ ပြင်ဆင်ပါ။
ပုံ 3-8 ae250.sag bootloader Parameters Setting
မှတ်ချက်!
-
- ကန့်သတ်ဘောင်သည် RTL ကန့်သတ်ဘောင်၏ System Reset Vector Default ၏တန်ဖိုးနှင့် ကိုက်ညီသင့်သည်။
- စုစည်းမှုဆက်တင်များကို မွမ်းမံပါ။ ထည့်သွင်းထားသော ပရောဂျက်အမည်ကို ညာဖက်ကလစ်နှိပ်ပြီး Build Settings ကိုရွေးချယ်ပါ။ “Objcopy> General” tab ကိုရွေးပြီး “Disable” ကို အမှန်ခြစ်ဖြုတ်ပါ။ (အထွက်ကို အလိုအလျောက် မထုတ်ပေးပါနှင့် file.)
binary ကိုထုတ်လုပ်ရန် ထည့်သွင်းထားသော ပရိုဂရမ်ကို ပြန်လည်ပေါင်းစပ်ပါ။ fileမြှုပ်သွင်းထားသော ပရောဂျက်၏ s ကို ဒေါင်းလုဒ်လုပ်ပါ။ fileGowin Programmer ပြင်ပ Flash C Bin မုဒ်ကို အသုံးပြု၍ SPI Flash 0x400000 လိပ်စာသို့
မွမ်းမံထားသော RTL ဒီဇိုင်းကို ထပ်မံပေါင်းစပ်ပြီး နေရာချပြီး လမ်းကြောင်းပြကာ Gowin Programmer ပြင်ပ Flash မုဒ်ကို အသုံးပြု၍ SPI Flash 0x000000 လိပ်စာသို့ ဒေါင်းလုဒ်လုပ်ပါ။
On-chip အမှားအယွင်း
စုစည်းပြီးနောက်၊ မြှုပ်သွင်းထားသော ပရောဂျက်၏ စုစည်းမှုရလဒ်များကို on-chip အမှားရှာအတွက် ဖွံ့ဖြိုးတိုးတက်မှုဘုတ်အဖွဲ့သို့ ဒေါင်းလုဒ်လုပ်နိုင်ပါသည်။
config.h ကို ပြင်ဆင်ပါ src/bsp/config/config.h ကိုဖွင့်ပြီး မက်ခရိုအဓိပ္ပါယ်ဖွင့်ဆိုချက် BUILD_MODE ကိုရှာပါ။ ၎င်းကို BUILD_LOAD သို့မွမ်းမံပြီး ထည့်သွင်းထားသော ပရိုဂရမ်ကို ပြန်လည်စုစည်းပါ။
Project Explorer ရှိ ပရောဂျက်အမည်ပေါ်တွင် right-click နှိပ်ပြီး drop-down menu မှ “Debug as > MCU Program” ကိုရွေးချယ်ပါ။ ပထမအကြိမ်တွင်၊ ပုံ 3-9 တွင်ပြထားသည့်အတိုင်း "Debug Configuration" ကိုဆက်တင်ရန်အတွက် dialog box ပေါ်လာလိမ့်မည်။
ပုံ 3-9 အမှားအယွင်းပြင်ဆင်မှုများ
“Startup” တက်ဘ်တွင်၊ ပထမညွှန်ကြားချက်ကိုမလုပ်ဆောင်မီ ပရိုဂရမ်ကိုရပ်တန့်ရန် “Reset and Hold” option ကိုစစ်ဆေးပါ။ on-chip အမှားအယွင်းမလုပ်မီ ILM တွင် ထည့်သွင်းထားသော ပရောဂျက်၏ စုစည်းမှုရလဒ်များကို ဒေါင်းလုဒ်လုပ်ရန် ဤရွေးချယ်မှုအောက်ရှိ ပါရာမီတာအကွက်တွင် ဝန်ကို ထည့်သွင်းပါ။
“Runtime Options” တွင်၊ “Set breakpoint at” ကိုစစ်ဆေးပါ။ အဝင်အကွက်တွင် ပင်မကဲ့သို့သော အညွှန်းတစ်ခုထည့်ပါ။ ၎င်းသည် ပင်မလုပ်ဆောင်ချက်၏အစတွင် ဖောက်ခွဲအမှတ်ကို သတ်မှတ်နိုင်သည်။ “Resume” ကိုစစ်ဆေးပါ၊ ထို့နောက် ချပ်စ်ပေါ်ရှိ အမှားရှာပြင်ခြင်းကို ထည့်သွင်းပြီးနောက် ဆက်တိုက်လုပ်ဆောင်မှုကို တိုက်ရိုက်စတင်ပါလိမ့်မည်။
on-chip အမှားရှာပြင်ခြင်းသို့ ဝင်ရောက်သောအခါ၊ ၎င်းသည် အမှားရှာပြင်သို့ အလိုအလျောက်သွားပါသည်။ view ပုံ 3-10 တွင်ပြထားသည့်အတိုင်း ဧရိယာတစ်ခုကို ပြသပါမည်။ ဤနေရာသည် ချပ်စ်ပေါ်ရှိ အမှားရှာပြင်ခြင်းအတွက် လည်ပတ်သည့်နေရာဖြစ်သည်။ အမှားအယွင်းအတွက် ဖြတ်လမ်းခလုတ်အချို့ကို အနီရောင်အကွက်တွင် ပြထားသည်။ ဘယ်မှညာသို့၊ ၎င်းတို့သည် DEBUG ကို ပြန်လည်စတင်ရန်၊ ဆက်လက်လုပ်ဆောင်ရန်၊ ဆိုင်းငံ့ထားရန်၊ အဆုံးသတ်ရန်၊ ချိတ်ဆက်မှုဖြုတ်ရန်၊ လုပ်ငန်းစဉ်တစ်ခုသို့ လင့်ခ်ချိတ်ရန်၊ အဆင့်သို့ တစ်ဆင့်တက်၊ တစ်ဆင့်ပြီးတစ်ဆင့် ပြန်သွားရန်၊ ညွှန်ကြားချက်ကို အဆင့်မြှင့်တင်ခြင်းမုဒ်ကို ဆိုလိုသည်။ ဤမုဒ်တွင်၊ ၎င်းသည် risc–v တပ်ဆင်မှုညွှန်ကြားချက်ကို လုပ်ဆောင်သည့်အခါတိုင်း၊ သို့မဟုတ်ပါက ၎င်းသည် C ကြေညာချက်ကို လုပ်ဆောင်သည့်တိုင်း။
မှတ်ချက်!
မီးခိုးရောင်အိုင်ကွန်များသည် ယခုအချိန်တွင် မရရှိနိုင်ဟု ဆိုလိုသည်။
လိုင်းနံပါတ်ကို အမြန်သတ်မှတ်ရန် သို့မဟုတ် breakpoints များကို ပယ်ဖျက်ရန် ကုဒ်စာသားရှိ ဘယ်ဘက်ကို နှစ်ချက်နှိပ်ပြီး ပေါ်လာသော မီနူးမှ “run to line” ကို ရွေးချယ်ရန် ကုဒ်စာသားတွင် ညာဖက်ကလစ်နှိပ်ပါ။
ပုံ 3-10 Debug Buttons နိဒါန်း
ပုံ 3-11 သည် ILM တွင် အချိန်နှင့်တပြေးညီ လုပ်ဆောင်နေသည့် စည်းဝေးပွဲညွှန်ကြားချက်များ၏ အကြောင်းအရာများကို ပြသသည့် စည်းဝေးပွဲထုတ်ပြန်ချက်ဝင်းဒိုးတစ်ခုဖြစ်သည်။
ပုံ 3-11 Assembly Instruction Code Window
RDS Built-in Serial Terminal အသုံးပြုမှု
ပုံ 3-12 သည် RDS မျက်နှာပြင်တွင်တည်ဆောက်ထားသော UART Terminal ကိုပြသသည်။ အသုံးပြုရန် လိုအပ်ပါက “Window> Show” ကိုနှိပ်ပါ။ View "Terminal" ဝင်းဒိုးကိုဖွင့်ရန် ထိပ်တန်းမီနူးရှိ > Terminal၊ ထို့နောက် အမှတ်စဉ် ဂိတ်အသစ်တစ်ခုဖန်တီးရန် "terminal ကိုဖွင့်ပါ" ကိုနှိပ်ပါ။ ဆိပ်ကမ်းနံပါတ် သတ်မှတ်ပြီးနောက် (ဖြစ်နိုင်သည်။ viewဟာ့ဒ်ဝဲမန်နေဂျာတွင် ed) baud နှုန်းနှင့် အခြားကန့်သတ်ချက်များ၊ စတင်အသုံးပြုရန် "OK" ကိုနှိပ်ပါ။
ပုံ 3-12 RDS Built-in Serial Terminal
အသေးစိတ်အတွက်၊ စာရွက်စာတမ်းကိုကြည့်ပါ။
AndeSight_RDS_v3.1_User_Manual_UM170_V1.0.pdf၊ တပ်ဆင်မှုလမ်းညွှန်၏ doc လမ်းကြောင်းတွင် တွေ့ရှိနိုင်သည်။
ရည်ညွှန်းဒီဇိုင်း
ပရောဂျက်ကုဒ်
အဓိက fileAE250 မြှုပ်သွင်းထားသော ပရောဂျက်ပုံစံပုံစံတွင် s သည် အောက်ပါအတိုင်းဖြစ်သည်-
- src/bsp/ae250/ae250.h- ဒါက file စနစ်နာရီ အဓိပ္ပါယ်ဖွင့်ဆိုချက်၊ အရံမှတ်ပုံတင်ခြင်း အဓိပ္ပါယ်ဖွင့်ဆိုချက်၊ အရံမှတ်ပုံတင်လိပ်စာ မြေပုံထုတ်ခြင်း အဓိပ္ပါယ်နှင့် ရင်းမြစ်နံပါတ် အဓိပ္ပါယ်ကို နှောက်ယှက်ခြင်းများ ပါဝင်သည်။ နာရီ၏ အဓိပ္ပါယ်ဖွင့်ဆိုချက်သည် AE250 ကန့်သတ်ဖွဲ့စည်းမှုပုံစံနှင့် ကိုက်ညီရပါမည်။
- src/bsp/ae250/ae250.c- reset_handler လုပ်ဆောင်ချက်သည် ထည့်သွင်းထားသော ပရိုဂရမ်ကို စတင်ရန် ဝင်ခွင့်ဖြစ်သည်။ ထည့်သွင်းမှုတွင်၊ ပင်မလုပ်ဆောင်ချက်ကို မလုပ်ဆောင်မီ UART အစပြုခြင်းကို လုပ်ဆောင်သည်။ လိုအပ်သော UART ပို့တ်ကို ရွေးချယ်ထားပြီး AE250 ၏ ကန့်သတ်ဖွဲ့စည်းပုံအရ လိုအပ်သော baud နှုန်းကို ပြင်ဆင်သတ်မှတ်ထားသည်။
- src/bsp/ae250/interrupt.c- ဒါက file AE250 ၏ interrupt handler လုပ်ဆောင်ချက်များ၏ အဓိပ္ပါယ်ဖွင့်ဆိုချက်ဖြစ်သည်။
- src/bsp/config/config.h: ဒါက file စုစည်းမှုနည်းလမ်းကို ထိန်းချုပ်သည့် မက်ခရို အဓိပ္ပါယ်ဖွင့်ဆိုချက် ပါရှိသည်။ #define BUILD_MODE ကို BUILD_LOAD သို့မဟုတ် BUILD_BURN အဖြစ် သတ်မှတ်နိုင်သည်။ BUILD_LOAD ဆိုသည်မှာ ပရိုဂရမ်ကို ILM တွင် တိုက်ရိုက်တင်ပြီး အမှားရှာသည့်အခါတွင် ယေဘူယျအားဖြင့် အသုံးပြုပါသည်။ BUILD_BURN ဆိုသည်မှာ ပရိုဂရမ်အား SPI Flash သို့ ဒေါင်းလုဒ်လုပ်ထားပြီး၊ ပရိုဂရမ်အား SPI Flash မှ ပထမဆုံး ပါဝါဖွင့်ပြီးနောက် ILM သို့ ဖတ်ပြီး ဗားရှင်းပရိုဂရမ်ကို ထုတ်ဝေရန်အတွက် အသုံးပြုနိုင်မည်ဖြစ်သည်။
- Start.S: စတင်သူ file assembly language ဖြင့် ရေးသားထားသည်။
- src/bsp/loader.c: bootloader fileSPI Flash မှ စတင်အသုံးပြုသည်။
- ae250.sag: Sag သည် scattering-and-Gathering format script ဖြစ်သည်။ ၎င်းသည် linker script ကိုထုတ်လုပ်ရန်အသုံးပြုသည်။ ae250.sag ရှိ memory map parameter များသည် AE250 ရှိအရာများနှင့် ကိုက်ညီရန် လိုအပ်ကြောင်း သတိပြုသင့်သည်။
- src/bsp/driver- ဤလမ်းညွှန်တွင် ဖိုင်တွဲနှစ်ခုပါရှိသည်၊ ae250 သည် AE250 ဒရိုက်ဘာကုဒ်ဖြစ်ပြီး ဒရိုင်ဘာလုပ်ဆောင်ချက်များ၏ ခေါ်ဆိုမှုမျက်နှာပြင်ပါ၀င်သည်။
- src/bsp/lib- နှစ်ခုပါရှိသည်။ file၎။ printf.c တွင်၊ C စံပြစာကြည့်တိုက်ရှိ လုပ်ဆောင်ချက်ခွဲပုံစံကို UART မှတဆင့် printf အချက်အလက်ကို ထုတ်ရန်အတွက် ပြန်လည်သတ်မှတ်သည်။ read.c တွင်၊ UART မှတစ်ဆင့် ထည့်သွင်းအချက်အလက်များကို ဖတ်ရန် ရိုးရှင်းသောလုပ်ဆောင်ချက်တစ်ခုရှိသည်။
ရည်ညွှန်းဒီဇိုင်း
တပ်ဆင်ပြီးနောက်၊ တပ်ဆင်မှုလမ်းညွှန်၏သရုပ်ပြဖိုင်တွဲတွင် သို့မဟုတ် ရည်ညွှန်းဒီဇိုင်းဇစ်ရှိ အခြေခံရည်ညွှန်းဒီဇိုင်းအများအပြားကို တွေ့ရှိနိုင်သည်။ webဆိုဒ်; အကိုးအကားဒီဇိုင်းကို တင်သွင်းခြင်းနည်းလမ်းဖြင့် စမ်းသပ်ခြင်း၊ အမှားရှာပြင်ဆင်ခြင်းနှင့် ပြန်လည်ပြင်ဆင်ခြင်းအတွက် RDS တွင် တင်နိုင်သည်။ ရည်ညွှန်းဒီဇိုင်းများကို အောက်ပါအတိုင်း ပြသထားသည်။
- ae250_demo- AE250 ၏ UART အဝင်/အထွက်နှင့် GPIO အထွက်ကို သရုပ်ပြသည်။
- ae250_plic- နှောင့်ယှက်ရန် ကြားဖြတ်ထိန်းချုပ်ကိရိယာ၏ တုံ့ပြန်မှုကို သရုပ်ပြပြီး စက်တိုင်မာနှင့် တွင်းအချိန်မာများ၏ သရုပ်ပြမှုများကို ပံ့ပိုးပေးသည်။
- ae250_freertos- AE250 ports များကို မြှုပ်သွင်းထားကြောင်း ပြသသည်။
အချိန်နှင့်တပြေးညီ လည်ပတ်မှုစနစ် FreeRTOS multi-threading လုပ်ဆောင်နေသည့် ပရိုဂရမ်။ - ae250_ucosiii- AE250 အပေါက်များသည် အချိန်နှင့်တပြေးညီ လည်ပတ်မှုစနစ် uC/OS-III multi-threading ပရိုဂရမ်ကို မြှုပ်သွင်းထားကြောင်း ပြသသည်။
စာရွက်စာတမ်းများ / အရင်းအမြစ်များ
![]() |
GOWIN FPGA ဖွံ့ဖြိုးတိုးတက်ရေးဘုတ်အဖွဲ့ RISCV ပရိုဂရမ်းမင်း [pdf] အသုံးပြုသူလမ်းညွှန် FPGA ဖွံ့ဖြိုးတိုးတက်ရေးဘုတ်အဖွဲ့ RISCV ပရိုဂရမ်ရေးဆွဲခြင်း၊ ဘုတ်အဖွဲ့ RISCV ပရိုဂရမ်ရေးဆွဲခြင်း၊ FPGA ဖွံ့ဖြိုးတိုးတက်ရေး RISCV ပရိုဂရမ်ရေးဆွဲခြင်း၊ RISCV ပရိုဂရမ်ရေးဆွဲခြင်း၊ ဘုတ်အဖွဲ့ RISCV |