USMI

Объявление

11/02/2026 (Administration) - Due to abuse and the artificial inflation of post counts, only active forum members are now permitted to download files.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » USMI » MCU, SoC, CPU Микроконтроллеры » AC695X Devleopment


AC695X Devleopment

Сообщений 1 страница 15 из 15

1

Hello,

I would like to start working on AC6951C8. could anyone point out to the necessary tools and SDK / example codes. i would like to build a tool to program the chip myself. can i get the details please? thanks in advance.

2

You can find the SDK in the JL SOC section. The programmer can be bought on Aliexpress (JL USB Update tool)..
If you are trying to se ane xisting device for development, be warned as it may have a chip key (more information about that in the same section)
Good luck!

3

Обратил внимание что в AC695X сдк в названии файла на дисплее съедается последний символ. Там просто от длины имени 2 байта два раза отнимается(один раз больше чем нужно)
apps\soundbox\task_manager\music\music.c
//*len = music_file_name_len - 2;
*len = music_file_name_len;

В music_player_play_success уже это сделано

4

Про подключение светодиодов: Тут был как-то вопрос. В оригинальном сдк работает только LED_ONE_IO_MODE, LED_TWO_IO_MODE не работает. Не доделано как и многое другое. Дописал так:

Код:
pwm_led.h

#define LED_ONE_IO_MODE_EN                     0
#define LED_TWO_IO_MODE_EN                     1


board_ac695xxxxxxx.c

/************************** PWM_LED ****************************/
#if TCFG_PWMLED_ENABLE
LED_PLATFORM_DATA_BEGIN(pwm_led_data)
	.io_mode = TCFG_PWMLED_IOMODE,              
    #if (TCFG_PWMLED_IOMODE == LED_ONE_IO_MODE_EN)
	.io_cfg.one_io.pin = TCFG_PWMLED_PIN,       
	#endif
	#if (TCFG_PWMLED_IOMODE == LED_TWO_IO_MODE_EN)
	.io_cfg.two_io.pin0 = TCFG_PWMLED_PIN0,   
	.io_cfg.two_io.pin1 = TCFG_PWMLED_PIN1,   
	#endif
LED_PLATFORM_DATA_END()
#endif


board_ac695xxxxxxx_cfg.h

//#define TCFG_PWMLED_ENABLE        DISABLE_THIS_MOUDLE
#define TCFG_PWMLED_ENABLE        	ENABLE_THIS_MOUDLE
//#define TCFG_PWMLED_IOMODE        LED_ONE_IO_MODE_EN    	//LED_ONE_IO_MODE 1 IO for 2 LEDs
//#define TCFG_PWMLED_PIN        	IO_PORTB_02        	//IO port used by LED; Pay attention to whether there is io conflict with led7
#define TCFG_PWMLED_IOMODE        LED_TWO_IO_MODE_EN    	//LED_TWO_IO_MODE 2 IO for 2 LEDs
#define TCFG_PWMLED_PIN0        	IO_PORTB_02        	//LED_TWO_IO_MODE //kcx board IO_PORTC_04 red, IO_PORTC_03 blue
#define TCFG_PWMLED_PIN1        	IO_PORTB_03        	//LED_TWO_IO_MODE

Кстати: PWM подсветка дисплея не работает одновременно с LED

5

Подключил к AC6956C энкодер на PB02 PB03, работает, только пришлось переписать rdec_key_table.c следующим образом:

Код:
/***********************************************************
 *        rdec_key table for music mode
 ***********************************************************/
#if TCFG_APP_MUSIC_EN
const u16 music_key_rdec_table[KEY_RDEC_NUM_MAX * 2][KEY_EVENT_MAX] = {
    [0] = {
        KEY_NULL,    KEY_NULL,    KEY_NULL,    KEY_NULL,    KEY_NULL,    KEY_NULL
    },
    [1] = {
        KEY_NULL,    KEY_NULL,    KEY_NULL,    KEY_NULL,    KEY_NULL,    KEY_NULL
    },
    [2] = {
        KEY_VOLUME_INC,    KEY_NULL,    KEY_NULL,    KEY_NULL,    KEY_NULL,    KEY_NULL
    },
    [3] = {
        KEY_VOLUME_DEC,    KEY_NULL,    KEY_NULL,    KEY_NULL,    KEY_NULL,    KEY_NULL
    },
    [4] = {
        KEY_NULL,    KEY_NULL,    KEY_NULL,    KEY_NULL,    KEY_NULL,    KEY_NULL
    },
    [5] = {
        KEY_NULL,    KEY_NULL,    KEY_NULL,    KEY_NULL,    KEY_NULL,    KEY_NULL
    },
};
#endif

6

Там Энкодеры строго привязаны к портам. 3 пары. Менять их нельзя, только их ID или функции.

Подпись автора

USMicro® 2026©

7

BIOS написал(а):

Там Энкодеры строго привязаны к портам. 3 пары. Менять их нельзя, только их ID или функции.

Так я вроде и не менял?

8

Это я просто к слову, что бы если захотелось поменять как на 692 - можно назначить любые пины. А тут нет, тут хардварный квадратурный декодер, а в 692 - софтово сделано.
:D

Подпись автора

USMicro® 2026©

9

Доброго вечера!
Строго не судите, только начинаю разбираться с этими чипами. Подскажите, для чтения\прошивки АС6951 чип надо на макетную плату перепаивать? Внутрисхемное программирование возможно?

10

nec написал(а):

Подскажите, для чтения\прошивки АС6951 чип надо на макетную плату перепаивать?

В принципе не обязательно.

nec написал(а):

Внутрисхемное программирование возможно?

В принципе да.

11

amateur написал(а):

Подключил к AC6956C энкодер на PB02 PB03, работает, только пришлось переписать rdec_key_table.c следующим образом:
Код:

/***********************************************************
*        rdec_key table for music mode
***********************************************************/
#if TCFG_APP_MUSIC_EN
const u16 music_key_rdec_table[KEY_RDEC_NUM_MAX * 2][KEY_EVENT_MAX] = {
    [0] = {
        KEY_NULL,    KEY_NULL,    KEY_NULL,    KEY_NULL,    KEY_NULL,    KEY_NULL
    },
    [1] = {
        KEY_NULL,    KEY_NULL,    KEY_NULL,    KEY_NULL,    KEY_NULL,    KEY_NULL
    },
    [2] = {
        KEY_VOLUME_INC,    KEY_NULL,    KEY_NULL,    KEY_NULL,    KEY_NULL,    KEY_NULL
    },
    [3] = {
        KEY_VOLUME_DEC,    KEY_NULL,    KEY_NULL,    KEY_NULL,    KEY_NULL,    KEY_NULL
    },
    [4] = {
        KEY_NULL,    KEY_NULL,    KEY_NULL,    KEY_NULL,    KEY_NULL,    KEY_NULL
    },
    [5] = {
        KEY_NULL,    KEY_NULL,    KEY_NULL,    KEY_NULL,    KEY_NULL,    KEY_NULL
    },
};
#endif

Прописал как Вы указали, получил это:
cpu\br23\tools\sdk.elf.o:(.rodata+0x5310)||undefined reference to `bt_key_rdec_table'|
cpu\br23\tools\sdk.elf.o:(.rodata+0x5314)||undefined reference to `music_key_rdec_table'|
cpu\br23\tools\sdk.elf.o:(.rodata+0x532c)||undefined reference to `idle_key_rdec_table'|
||=== Build failed: 3 error(s), 7439 warning(s) (3 minute(s), 36 second(s)) ===|

Что зыбыл? Можете помочь?

12

Alextel написал(а):

Прописал как Вы указали, получил это:
cpu\br23\tools\sdk.elf.o.rodata+0x5310)||undefined reference to `bt_key_rdec_table'|
cpu\br23\tools\sdk.elf.o.rodata+0x5314)||undefined reference to `music_key_rdec_table'|
cpu\br23\tools\sdk.elf.o.rodata+0x532c)||undefined reference to `idle_key_rdec_table'|
||=== Build failed: 3 error(s), 7439 warning(s) (3 minute(s), 36 second(s)) ===|

Что зыбыл? Можете помочь?

Скопировал из браузера, компилируется. А с оригинальными таблицами нормально компилируется? С оригинальными таблицами энкодеры тоже работают но как попало.

Свернутый текст

Отредактировано amateur (2026-10-15 22:00:39)

13

amateur написал(а):

Скопировал из браузера, компилируется. А с оригинальными таблицами нормально компилируется? С оригинальными таблицами энкодеры тоже работают но как попало.

Они работают нормально, но тольк на пинах где есть q decoder, тк. он там хардварный.

Подпись автора

USMicro® 2026©

14

amateur написал(а):

Скопировал из браузера, компилируется. А с оригинальными таблицами нормально компилируется? С оригинальными таблицами энкодеры тоже работают но как попало.

С дефолтным rdec_key_table.c при разрешении в board конфиге всё нормально, а с вашим rdec_key_table.c  валится это:
cpu\br23\tools\sdk.elf.o.rodata+0x5310)||undefined reference to `bt_key_rdec_table'|
cpu\br23\tools\sdk.elf.o.rodata+0x5314)||undefined reference to `music_key_rdec_table'|
cpu\br23\tools\sdk.elf.o.rodata+0x532c)||undefined reference to `idle_key_rdec_table'|
пробовал на разных версиях sdk (3.0.0, 3.0.1, 3.1.2)

15

Alextel написал(а):

С дефолтным rdec_key_table.c при разрешении в board конфиге всё нормально, а с вашим rdec_key_table.c  валится это:

Ну и оставь дефолт. Ибо:

BIOS написал(а):

Они работают нормально, но тольк на пинах где есть q decoder, тк. он там хардварный.


Вы здесь » USMI » MCU, SoC, CPU Микроконтроллеры » AC695X Devleopment