欢迎使用杰理科技32位AD系列语音IC
开源社区仓库链接:
https://gitee.com/Jieli-Tech/fw-AD15N
https://github.com/Jieli-Tech/fw-AD15N
开源社区交流群:
开源社区钉钉群二维码
作者:刘杰、陈卓豪、马万程、刘昊坤
- 1. 时钟驱动
- 2. 内置系统flash写保护
- 3. 中断系统
- 3.1. 中断的注册与注销
- 3.2. 软中断说明
- 3.3. 软件不可屏蔽中断
- 3.3.1. 函数void _OS_ENTER_CRITICAL(u32 bit_list)
- 3.3.2. 函数void _OS_ENTER_CRITICAL(u32 bit_list_l, u32 bit_list_h)
- 3.3.3. 函数void _OS_EXIT_CRITICAL(void)
- 3.3.4. 函数void vm_isr_response_index_register(u8 index)
- 3.3.5. 函数void vm_isr_response_index_unregister(u8 index)
- 3.3.6. 函数u32 get_vm_isr_response_index_l(void)
- 3.3.7. 函数u32 get_vm_isr_response_index_h(void)
- 3.4. 硬件不可屏蔽中断
- 4. GPIO接口说明
- 1. 设备管理
- 1.1. 设备注册表
- 1.2. 设备函数
- 1.2.1. 函数int devices_init()
- 1.2.2. 函数bool dev_online(const char* name)
- 1.2.3. 函数void* dev_open(const char* name, void* arg)
- 1.2.4. 函数int dev_bulk_read(void* _device, void* buf, u32 offset, u32 len)
- 1.2.5. 函数int dev_bulk_write(void* _device, void* buf, u32 offset, u32 len)
- 1.2.6. 函数int dev_byte_read(void* _device, void* buf, u32 offset, u32 len)
- 1.2.7. 函数int dev_byte_write(void* _device, void* buf, u32 offset, u32 len)
- 1.2.8. 函数int dev_ioctl(void* device, int cmd, u32 arg)
- 1.2.9. 函数int dev_close(void* device)
- 2. 文件系统管理
- 2.1. 文件系统介绍
- 2.2. 文件系统使用一般流程
- 2.3. 通用文件系统管理函数
- 2.3.1. 函数void vfs_init(void)
- 2.3.2. 函数u32 vfs_mount(void **ppvfs, void *device, void *type)
- 2.3.3. 函数u32 vfs_openbypath(void *pvfs, void **ppvfile, const char *path)
- 2.3.4. 函数u32 vfs_openbyindex(void *pvfs, void **ppvfile, u32 index)
- 2.3.5. 函数u32 vfs_createfile(void *pvfs, void **ppvfile, u32 *pindex)
- 2.3.6. 函数u32 vfs_read(void *pvfile, void *buf, u32 len)
- 2.3.7. 函数u32 vfs_write(void *pvfile, void *buf, u32 len)
- 2.3.8. 函数u32 vfs_seek(void *pvfile, u32 offset, u32 mode)
- 2.3.9. 函数u32 vfs_file_close(void **ppvfile)
- 2.3.10. 函数u32 vfs_fs_close(void **ppvfs)
- 2.3.11. 函数u32 vfs_file_name(void *pvfile, void *name, u32 len)
- 2.3.12. 函数int vfs_get_attrs(void *pvfile, void *pvfs_attr)
- 2.3.13. 函数int vfs_ioctl(void *pvfile, int cmd, int arg)
- 2.3.14. 函数int vfs_file_crc(void *pvfile)
- 2.4. FAT文件系统管理函数
- 2.4.1. 函数int vfs_ftell(void *pvfile, void *parm)
- 2.4.2. 函数int vfs_get_fsize(void *pvfile, void *parm)
- 2.4.3. 函数struct vfscan *vfs_fscan_new(void *pvfs, const char *path, const char *arg, u8 max_deepth, int (*callback)(void), strcut vfscan *fsn, struct vfscan_reset_info *info)
- 2.4.4. 函数void vfs_fscan_release(void *pvfs, struct vfscan *fs)
- 2.4.5. 函数int vfs_get_folderinfo(void **pvfile, struct vfscan *fs, int *start_num, int *end_num)
- 2.4.6. 函数int vfs_mk_dir(void *pvfs, char *folder, u8 mode)
- 2.4.7. 函数int vfs_get_encfolder_info(void *pvfs, char *folder, char *ext, u32 *last_num, u32 *total_num)
- 2.4.8. 函数u32 vfs_file_delete(void *pvfile)
- 2.4.9. 函数int vfs_select(void *pvfs, void **ppvfile, struct vfscan *fs, int sel_mode, int arg)
- 3. 解码接口
- 4. F1X格式解码流程说明
- 5. 编码接口
- 6. JL_MIO功能
- 1. AUDIO DAC
- 1.1. AUDIO DAC配置参数
- 1.2. AUDIO DAC接口介绍
- 1.2.1. 函数void dac_mode_init(void)
- 1.2.2. 函数void dac_init_api(u32 sr)
- 1.2.3. 函数void dac_power_on(u32 sr, bool delay_flag)
- 1.2.4. 函数void dac_off_api(void)
- 1.2.5. 函数bool dac_mute(bool mute)
- 1.2.6. 函数u8 dac_vol(char set, u8 vol)
- 1.2.7. 函数bool regist_dac_channel(void *psound, void *kick)
- 1.2.8. 函数bool unregist_dac_channel(void *psound)
- 1.2.9. 函数void fill_dac_fill(u8 *buf, u32 len)
- 1.2.10. 函数void single_apa_startup_mute_cb(void)
- 1.2.11. 函数void single_apa_mute(u8 mute)
- 2. AUDIO ADC(AD14N / AC104N)
- 2.1. 1 AUDIO ADC接口介绍
- 2.1.1. 1.1 函数void audio_adc_mode_init(void)
- 2.1.2. 1.2 函数u32 audio_adc_init_api(u32 sr, ADC_MODE mode, u32 ch)
- 2.1.3. 1.3 函数void audio_adc_off_api(void)
- 2.1.4. 1.4 函数bool regist_audio_adc_channel(void *psound, void *kick)
- 2.1.5. 1.5 函数bool unregist_audio_adc_channel(void *psound)
- 2.1.6. 1.6 函数void fill_audio_adc_fill(u8 *buf, u32 len)
- 2.1. 1 AUDIO ADC接口介绍
- 3. 音量
- 1. VM 掉电存储说明
- 2. 消息与事件
- 2.1. 1 消息与事件使用一般流程
- 2.2. 2 消息与事件函数
- 2.2.1. 2.1 void event_init(void)
- 2.2.2. 2.2 void message_init()
- 2.2.3. 2.3 u32 event2msg_api(u32 event)
- 2.2.4. 2.4 int post_event(int event)
- 2.2.5. 2.5 int post_msg(int argc, …)
- 2.2.6. 2.6 bool get_event_status(u32 event)
- 2.2.7. 2.7 函数int get_msg(int len, int *msg)
- 2.2.8. 2.8 函数void clear_all_message(void)
- 3. 按键系统key
- 4. Reserved_Area区域说明
- 5. 多录音分区(AD14N)
- 6. 虚拟RTC
- 6.1. 功能接口介绍
- 6.1.1. int rtc_simulate_init(const struct vir_rtc_data *arg)
- 6.1.2. void read_sys_time(struct sys_time *curr_time);
- 6.1.3. void write_sys_time(struct sys_time *curr_time);
- 6.1.4. void read_alarm(struct sys_time *alarm_time);
- 6.1.5. void write_alarm(struct sys_time *alarm_time);
- 6.1.6. void vir_set_alarm_ctrl(u8 set_alarm);
- 6.1.7. u8 vir_get_alarm_ctrl(void);
- 6.1. 功能接口介绍
- 7. 双备份升级