论坛风格切换切换到宽版
  • 15110阅读
  • 28回复

跟著BD7OTO學習寶峰K6對講機固件編譯開發 [复制链接]

上一主题 下一主题
离线bd7oto
 
发帖
39
只看楼主 倒序阅读 0楼 发表于: 2019-06-02
———————————————零、开场白———————————————

寶峰K6是最近推出的面嚮業餘無綫電群體的一款對講機產品,體積小巧,經濟實惠,可玩性強。
該機使用的MCU型號為KD32F328,128KB Flash,24KB SRAM,相比於友商全盛K5系列的DP32G030(64KB Flash)增加了諸多可玩性。
目前這款KD32F328無任何資料,無任何技術支持,開發略有難度。





———————————————1.原廠資料———————————————
寫頻軟件下載:
原廠固件下載:
固件升級軟件下載:
對講機原理圖下載:

———————————————2.開始開發———————————————
KD32F328是一款Cortex-M0内核的單片機產品,產品Datasheet手冊如下:


液晶顯示屏Datasheet手冊如下:



寶峰K6的MCU已含有Bootloder,大家可使用電腦在綫升級固件(以下簡稱APP部分)。這個帖子將教授大家如何開發應用部分的程序。

難點:
1、Bootloder的範圍是0x0-0x2000(即8K),APP部分範圍從0x2000開始,容量120K,所以應用程序部分需要修改Flash起始地址(0x2000)和中斷向量的偏移地址。
但是Cortex-M0内核的MCU產品,設置中斷向量的偏移地址比M3内核的MCU複雜很多(這裏感謝BD4VOW提供的技術支持)。

定義絕對地址類型的數組UserVectors,存儲指向中斷服務函數名的指針。
typedef struct
{
    void (*intHandle)(void);
}STR_INTFUN;
__IO STR_INTFUN UserVectors[10] __attribute__((at(0x20001000)));
在初始化階段,將中斷服務函數名賦值到UserVectors數組中。
UserVectors[0].intHandle = SysTickHandler;
UserVectors[1].intHandle = USART1_Handler;
UserVectors[3].intHandle = DMA1Int_Handler;
在系統中斷服務程序中,調用 UserVectors中指向的回調函數指針即可。
void SysTick_Handler(void)
{
    UserVectors[0].intHandle();
}
void USART1_IRQHandler(void)
{
    UserVectors[1].intHandle();
}
void DMA1_Channel4_5_IRQHandler(void)
{
    UserVectors[3].intHandle();
}
避坑指南:
如果不設置Flash起始地址會怎樣?
答:開機不亮屏,但不影響按側邊兩按鍵進入BootLoader。
如果不設置中斷向量的偏移地址會怎樣?
答:開機不亮屏,按側邊兩按鍵BootLoader無法進入,這裏必須拔出寫頻綫,拆除電池,並重新安裝才能繼續進入BootLoader。

———————————————3.目前的源程序下載———————————————
源程序下載:


(這裏感謝BD4VOW提供的技術支持)


———————————————四、源程序如何編譯———————————————
作者感覺,玩業餘無綫電的,更多的是年齡偏大的群體,大家或許更習慣經典的集成開發環境,例如IAR、MDK等等。
作爲開源項目,就不能使用這種商業軟件了(這也解釋了大家在github上面下載的單片機類源程序多爲GCC下編譯的)。
在這裏,作者推薦Visual Studio Code + PlatformIO IDE的開發環境(可能新手搭建這個開發環境會遇到諸多困難,走一些彎路)。
1、安裝Git(如果不安裝這個,後續使用命令安裝Plantform會失敗),作者使用的版本為:Git-2.47.1-64-bit,下載地址:https://git-scm.com/
2、安裝Visual Studio Code,作者使用的版本為VSCodeUserSetup-x64-1.96.2:下載地址:https://code.visualstudio.com/
3、打開Visual Studio Code,點擊左側Extensions,安裝PlatformIO IDE擴展。
4、安裝寶峰K6開發平臺。
使用瀏覽器打開 https://github.com/amoxu/platform-openradiox ,登錄個人賬號(如果不登錄的話,後續使用命令安裝Plantform會失敗)。
在Visual Studio Code下,點擊左側PlatformIO(外星人頭像)圖標,點擊左下方Quick Access -> Miscellaneous  -> PlatformIO Core CLI,
執行如下命令:pio pkg install -g -p https://github.com/amoxu/platform-openradiox
5、新建並編譯工程。
新建一個工程,平臺選擇第4步下載的BaoFeng-UV-K6x,默認情況下系統會在以下目錄中創建新工程:
C:\Users\個人的用戶名\Documents\PlatformIO\Projects\工程名
將下載的源程序拷貝到這個路徑下,即可在Visual Studio Code下開展編譯。
編譯安妮在右上方(小勾勾圖標)。
編譯完成后,會在C:\Users\個人的用戶名\Documents\PlatformIO\Projects\工程名\out中生成bin文件,這個就是固件。

———————————————五、後續工作展望———————————————
目前開發的這套源程序,與原廠固件相比,并不是完全一樣的,有一些異同點:
1、增加了信道名+頻率 雙顯示功能,這個很贊。
2、開機LOGO、開機信息無顯示,這個是個BUG。
3、信道模式的B區域,關機之後,會重新回到M001信道,這是個BUG。
4、電池電壓顯示,這個尚未開發。
5、其它尚未發現的BUG。

目前作者身體不適,已經很少再有像從前那樣日日夜夜做開發的精力了,修身養性,保住小命要緊。
希望大家能夠再此基礎上,繼續完善,做出一款好的產品,服務廣大業餘無綫電群體。
謝謝大家。

這裏是BD7OTO,2024.12.07在澳門仁伯爵綜合病院住院部,呼吸與危重症科。




[ 此帖被bd7oto在2024-12-21 12:27重新编辑 ]
本主题包含附件,请 登录 后查看, 或者 注册 成为会员
高级硬件攻城狮+程序猿,擅长DSP、FPGA、ARM
微信:132,三两两八,8051
QQ:344266487
https://shop197337704.taobao.com/
用最严格的规范去创造最可靠的产品,服务社会,创造价值
离线bd8te
发帖
4254
只看该作者 1楼 发表于: 2019-06-02
沙发     那里可以下载到注册机
[ 此帖被bd8te在2019-06-02 13:20重新编辑 ]
BD8TE
来自四季如春的春城昆明
QTH:昆明市
离线BG2UKY
发帖
639
只看该作者 2楼 发表于: 2019-06-02
板凳  
呼号:BG2UKY【三级】
设备:YAESU FT-897D
QQ:808195  火焰
Email:bg2uky@qq.com
MORSE技术学习与交流:90125079
HAM 单片机学习与交流:200344008
手机:BOWYBPPbbWb
地址:辽宁省盖州市华硕专卖店【盖州核心店】
离线VBCODE
发帖
103
只看该作者 3楼 发表于: 2019-06-02
前排观望等结果
我什么都不懂,所以你要慢慢教。
离线BG7MI
发帖
7708
只看该作者 4楼 发表于: 2019-06-02
谁试试看

内容来自[手机版]
离线BH4rrg
发帖
2817
只看该作者 5楼 发表于: 2019-06-02
没有注册机
BH4RRG       CSKC#219

常用DX信息网站:
http://new.dxsummit.fi/
http://www.ng3k.com/Misc/adxo.html
http://www.425dxn.org/
http://www.425dxn.org/monthly/index.html
http://dx-world.net/
离线bd7oto
发帖
39
只看该作者 6楼 发表于: 2019-06-02
无无无无无无无无
[ 此帖被bd7oto在2024-07-18 17:29重新编辑 ]
高级硬件攻城狮+程序猿,擅长DSP、FPGA、ARM
微信:132,三两两八,8051
QQ:344266487
https://shop197337704.taobao.com/
用最严格的规范去创造最可靠的产品,服务社会,创造价值
离线BG2WAH
发帖
551
只看该作者 7楼 发表于: 2019-06-03
谢谢分享!
离线BA4WI
发帖
3796
只看该作者 8楼 发表于: 2019-06-04
EX:BD4RDR BG4RDR

QQ:175218318
MSN:BA4WI@MSN.CN
Mail:BA4WI.Jack@Gmail.com
QTH:OM92JC

SKCC,WWYC
离线黑衣
发帖
2312
只看该作者 9楼 发表于: 2019-06-05
谢谢分享!   
bg2us谢文  13504197025 17307557465

体谅 Considerate 忠诚 Loyal
进取 Progressive 友爱 Friendly
适度 Balanced 爱国 Patriotic
离线超级摩托
发帖
478
只看该作者 10楼 发表于: 2019-06-05
注册机能用吗?
BG8HAY
菜鸟起飞.....
离线黑衣
发帖
2312
只看该作者 11楼 发表于: 2019-06-05
用了。不好用,一打开这个软件,电脑就蓝屏,百试百灵。
可能是哪个软件有冲突吧。
bg2us谢文  13504197025 17307557465

体谅 Considerate 忠诚 Loyal
进取 Progressive 友爱 Friendly
适度 Balanced 爱国 Patriotic
离线超级摩托
发帖
478
只看该作者 12楼 发表于: 2019-06-06
回 黑衣 的帖子
黑衣:用了。不好用,一打开这个软件,电脑就蓝屏,百试百灵。
可能是哪个软件有冲突吧。[表情]  (2019-06-05 19:43) 

谢谢!
BG8HAY
菜鸟起飞.....
离线黑衣
发帖
2312
只看该作者 13楼 发表于: 2019-06-06
安装LOG32试了,一堆提示错误,可能是我的系统不好。

现在准备安装NIMM+  下载了等晚上静下来了安装。
bg2us谢文  13504197025 17307557465

体谅 Considerate 忠诚 Loyal
进取 Progressive 友爱 Friendly
适度 Balanced 爱国 Patriotic
离线bg6ado
发帖
240
只看该作者 14楼 发表于: 2019-06-09
软件虽好,但不支持JST-245机器。
...
离线黑衣
发帖
2312
只看该作者 15楼 发表于: 2019-06-09
回 bg6ado 的帖子
bg6ado:软件虽好,但不支持JST-245机器。 (2019-06-09 06:03) 

不支持245的就不是好软件
bg2us谢文  13504197025 17307557465

体谅 Considerate 忠诚 Loyal
进取 Progressive 友爱 Friendly
适度 Balanced 爱国 Patriotic
离线yushiozzy
发帖
2226
只看该作者 16楼 发表于: 2019-06-09
这个厉害了啊
BG9BJZ也就是Me,现在成了鼠标毁灭者了,me用不坏的鼠标才是好鼠标。
离线kg5srk
发帖
720
只看该作者 17楼 发表于: 2019-06-12
公開分享如何盜竊知識產權,不以為恥。這是一個觀念上的差距
离线BH1LHS
发帖
1371
只看该作者 18楼 发表于: 2020-02-08
好软件,以前都用这款软件记录日志的。感谢楼主分享。
BH1LHS
北京市通州区
FT857D + 3波段倒V+PAC-12
离线无常公子
发帖
260
只看该作者 19楼 发表于: 2020-02-13
试试好用吗?
[COLOR=YellowGreen]呼号:BG4VFX
800:13327955572
439.800—5 88.5中继守侯!
欢迎路过江苏新沂的朋友与我联系通联(京沪高速、205国道、S323、S249省道穿境而过) [/COLOR]