youngchun 发表于 2018-5-26 15:40:25

记录一下自己ER9X的编译过程

本帖最后由 youngchun 于 2018-5-26 16:05 编辑

首先,在WINDOWS下,要下载WinAVR-20100110并安装。
下载源码:https://github.com/MikeBland/mbtx

用Programmers Notepad 打开mbtx-master\radio\er9x\src目录下的Makefile文件。

把CPPFLAGS += -mstrict-X这句注释掉,否则会报错。


然后点Tools->make all


这时会出现几个_int24_t或者_uint24_t的报错,是因为此数据类型没定义,直接用int32_t或者uint32_t暂时代替。

再次编译就OK了。


因为默认是M64的单片机,编译后会大于其FLASH容量,所以只能烧写到M128单片机中。

上面默认是并行LCD的固件,另外可以编译串行LCD的固件。

方法是改动下面选项:

1。makefile里:CUSTOM9X = YES
2。er9x.h里: #define LCD_OTHER   1
                     #define LCD_EEPE    0
3。lcd.cpp里:#define SERIAL_LCD      1
                     #define ROTATE_SCREEN   1 (这选项可以使显示转180度)
再编译就OK了。

用USBASP+PROGISP下载到M128中:


















胖胖。 发表于 2018-5-26 16:11:29

大神,膜拜大佬

ddt681027 发表于 2018-5-26 16:16:45

太專業了@@!!
只能用力幫推了{:1_1:}

维以不永怀 发表于 2018-5-26 18:32:50

路过帮顶

道南北 发表于 2018-5-27 01:34:17

顶一下

TwoOne 发表于 2018-5-28 07:47:54

请教一下,硬件用的是什么?

youngchun 发表于 2018-5-28 08:33:24

TwoOne 发表于 2018-5-28 07:47
请教一下,硬件用的是什么?

ER9X的硬件随便搜一下都能找到的,参考隔壁的贴子:
http://www.moz8.com/thread-142129-1-1.html

请输入新的昵称 发表于 2018-5-28 16:08:51

路过帮顶路过帮顶
路过帮顶
路过帮顶

fanqie123 发表于 2018-5-29 13:55:44

er9x的上位机eepe本身就可以改串口和旋转屏幕180°还有oled屏幕 不需要重新编译但是opentx还不能支持串口屏幕 如果楼主有能力的话可以尝试一下移植让opentx也支持串口屏幕

youngchun 发表于 2018-5-29 21:12:04

fanqie123 发表于 2018-5-29 13:55
er9x的上位机eepe本身就可以改串口和旋转屏幕180°还有oled屏幕 不需要重新编译但是opentx还不能支持串口 ...

eepe设置我还没会用,愿闻其详。
OPENTX在UBUNTU下很容易编译9X的源码,把串口LCD的底层驱动移过去应该不难。
有空试试。

wcq12 发表于 2018-6-2 08:01:13

不错收藏了




youngchun 发表于 2018-6-5 21:33:21

wcq12 发表于 2018-6-2 08:01
不错收藏了

这个是什么版本的,显示好像有问题。
http://www.moz8.com/data/attachment/forum/201806/02/080112wcecz13xoeciiy2q.jpg

aumster2008 发表于 2019-1-30 09:55:37

youngchun 发表于 2018-6-5 21:33
这个是什么版本的,显示好像有问题。

我现在就出现这样的显示问题   请教 如何修改显示固件

dz314569 发表于 2019-2-21 06:11:06

我也要开始水了

左瘸子 发表于 2019-5-7 22:02:33

Compiling C++: menus.cpp
avr-gcc -c -mmcu=atmega64 -I. -x c++ -gdwarf-2 -DF_CPU=16000000UL -DCUSTOM9X -DCPUM64 -Os -mrelax -fshort-enums -Wall-MD -MP -MF .dep/menus.o.d menus.cpp -o obj/menus.o
menus.cpp:8216: error: '__int24' does not name a type
menus.cpp: In function 'void perOut(int16_t*, uint8_t)':
menus.cpp:8731: error: 'struct t_output' has no member named 'act'
menus.cpp:8896: error: 'struct t_output' has no member named 'act'
menus.cpp:9008: error: 'struct t_output' has no member named 'act'
menus.cpp: In function 'void menuProcIndex(uint8_t)':
menus.cpp:9686: warning: only initialized variables can be placed into program memory area
menus.cpp: In function 'void menuProcModelIndex(uint8_t)':
menus.cpp:11491: warning: only initialized variables can be placed into program memory area
make.exe: *** Error 1

左瘸子 发表于 2019-5-7 22:14:05

大神这个错误怎么改啊

左瘸子 发表于 2019-5-7 23:58:59

解决了,怪自己没看清楚
这时会出现几个_int24_t或者_uint24_t的报错,是因为此数据类型没定义,直接用int32_t或者uint32_t暂时代替

左瘸子 发表于 2019-5-8 00:42:35

大神屏幕左偏4位    一直没有解决

左瘸子 发表于 2019-5-8 09:25:36

大神可以给个你QQ吗?想请教下   或者你加我541016294?

左瘸子 发表于 2019-5-8 12:07:32

http://www.moz8.com/data/attachment/forum/201806/02/080112wcecz13xoeciiy2q.jpg就像 这个屏幕的右边是乱码,上下是正常的。
页: [1] 2
查看完整版本: 记录一下自己ER9X的编译过程