Re: MPLAB X IDE 字體自動縮放問題
|
||||
---|---|---|---|---|
管理員
|
如果你的Windows有將字型放大時, 除了字型會變小之外也會有模糊情形
1. 請在MPLAB X IDE的捷徑按右鍵->[內容] 2. [相容性]->[變更高DPI設定] 3. [v]覆寫高DPI縮放比例行為, 縮放執行者 再執行看看 Attach file: (0.00 KB) (0.00 KB)
發表於: 2020/5/27 8:24
|
|||
|
Re: MPLAB X IDE include問題
|
||||
---|---|---|---|---|
管理員
|
MPLAB X IDE code parser會嘗試尋找程式代碼中的定義或是宣告, 來警告USER可能遺漏的地方, 因此有燈泡這樣的提示, 但是MCU家族越來越多, X IDE裡面Gen code的重複參照及先後繼承關係變複雜了, 因此導致Code Parser無法正確找到引用的.h檔頭或是宣告定義, 但是編譯器會正常的編譯沒有問題, 這只是程式代碼的Parser錯誤並非程式有誤, 如果覺得這樣的提示有困擾, 可以在Tool中的設定將之選擇性的關閉
如果是自己定義的宣告也出現警告時, 可以嘗試重新parser看看可否找到 在專案上按右鍵, 依下圖選擇 Attach file: (0.00 KB) (0.00 KB)
發表於: 2020/5/26 9:02
|
|||
|
Re: SPI 傳輸 Arduino(Master) to SAM D21 Xplained Pro(Slave)
|
||||
---|---|---|---|---|
管理員
|
我使用Studio 7裡面的SAMD21 SPI example code (MASTRE/SLAVE), 拿兩片SAMD21 Xplained EVB對接測試是正常的喔!
檢查SPI Master/Slave 的MISO與MOSI是否交換對接, 或者勾示波器量一下看哪一邊動作異常 Attach file: (0.00 KB) (0.00 KB)
發表於: 2020/5/26 8:46
|
|||
|
Re: ATSAME54P20A--定址
|
||||
---|---|---|---|---|
管理員
|
你是用SAME54-XPlained PRO EVB? 可以把你的專案寄給我試試, 另外提供你目前使用的環境
1. Windows 版本 2. MPLAB X IDE 版本 3. DFP 版本 4. CMSIS 版本 5. XC32 版本 6. Harmony3 版本 我有另外寄e-mail到你的Yahoo信箱了, 如果有公司的E-mail可以改用公司的E-Mail寄給我比較不會退件
發表於: 2020/5/25 13:33
|
|||
|
Re: ATSAME54P20A--定址
|
||||
---|---|---|---|---|
管理員
|
真奇怪, 我的就可以, 把我的.ld 跟 .map寄給你看一下
這檔案用7z壓縮的, 要用7z解壓縮, 不能在Windows直接點用winzip解壓縮 Attach file: Link only for registered users
發表於: 2020/5/25 11:07
|
|||
|
Re: ATSAME54P20A--定址
|
||||
---|---|---|---|---|
管理員
|
你改過的.ld要在X IDE的專案中, 加到Linker File底下, Compiler才會引用到, 不是Copy過來而已
Linker Files\ 按右鍵 -> Add Existing Item
發表於: 2020/5/25 8:26
|
|||
|
Re: ATSAME54P20A--定址
|
||||
---|---|---|---|---|
管理員
|
所以如果使用自動變數就會正常?
uint8_t Can0MessageRAM[CAN0_MESSAGE_RAM_CONFIG_SIZE]; uint8_t Can1MessageRAM[CAN1_MESSAGE_RAM_CONFIG_SIZE]; .bss是在linker file中去指定的 SAME54的Global Linker file在(XC32 v2.40之後只有64bit) C:\Program Files\Microchip\xc32\v2.40\pic32c\lib\proc\ATSAME54P20A\ATSAME54P20A.ld 這裡不可以改它, 如果你要修改時, 要把它Copy到你的專案下, 然後在你的專案下的\Linker Files中加進來 ATSAME54P20A.ld中 RAM_ORIGIN 0x20000000 RAM_LENGTH 0x40000 決定了Compiler可以管理的SRAM起始位置及大小 當然也可以去改變它後, 得到這樣的結果
RAM Data-Memory Usage
在程式中沒人管的區段, 就任憑自己去處置了 uint32_t *Can0MessageRAM = (uint32_t *)(0x20000000U); uint32_t *Can1MessageRAM = (uint32_t *)(0x20000040U); ((uint8_t*)Can0MessageRAM)[0] = 0x12; ((uint8_t*)Can0MessageRAM)[1] = 0x34; ((uint8_t*)Can1MessageRAM)[0] = 0x56; ((uint8_t*)Can1MessageRAM)[1] = 0x78; 更動記憶體配置可能造成不可預期的結果, 請務必小心謹慎後果自負. Attach file: (0.00 KB)
發表於: 2020/5/22 15:45
|
|||
|
Re: ATSAME54P20A--定址
|
||||
---|---|---|---|---|
管理員
|
你好, 這個部分有兩個問題
1. 原先的寫法 uint8_t Can0MessageRAM[CAN0_MESSAGE_RAM_CONFIG_SIZE] __attribute__((aligned(32), address(0x20000000))); uint8_t Can1MessageRAM[CAN1_MESSAGE_RAM_CONFIG_SIZE] __attribute__((aligned(32), address(0x20000000 + CAN0_MESSAGE_RAM_CONFIG_SIZE))); CAN0_MESSAGE_RAM_CONFIG_SIZE = 56 Can1MessageRAM 的 address 因為aligned(32)的關係, 會等於address(0x20000000 + 32), 導致 Can1MessageRAM 記憶體位址去疊到Can0MessageRAM Can0MessageRAM @ 0x20000000, size 56 (0x20000000 ~ 0x20000038) Can1MessageRAM @ 0x20000020, size 56 所以請拿掉aligned(32)或是將Can1MessageRAM的定址取為32的倍數 最後 uint8_t Can0MessageRAM[CAN0_MESSAGE_RAM_CONFIG_SIZE] __attribute__((aligned(32), address(0x20000020))); uint8_t Can1MessageRAM[CAN1_MESSAGE_RAM_CONFIG_SIZE] __attribute__((aligned(32), address(0x20000020 + ((CAN0_MESSAGE_RAM_CONFIG_SIZE%32)+1)*32))); 2. 另外一個問題是上面你看到, 起始位置不是在0x20000000而是自0x20000020開始, 你看MAP file時會發現前面0x20000000開始有保留一小塊區塊, 這部分需要避開 .bss 0x20000000 0x10 16 Uninitialized data 這部分會因為你用到的Harmony Module而不同, 看起來是因為SYS_Tick Module拿去用了, 我建的專案佔了0x0C, 你的佔了0x10, 因為aligned(32)所以我將起始位置移到0x20000020
發表於: 2020/5/22 11:46
|
|||
|
Re: 連絡電郵更改
|
||||
---|---|---|---|---|
管理員
|
您好,請重新註冊一個新的帳號,您舊有資料都不會刪除
發表於: 2020/5/13 12:57
|
|||
|