优化代码结构
This commit is contained in:
@@ -1,11 +1,12 @@
|
||||
#!/bin/bash
|
||||
|
||||
# export TOOLCHAIN=/home/zhangzheng/gcc-arm-none-eabi-5_4-2016q3/bin/
|
||||
# export TOOLCHAIN_LIB=/home/zhangzheng/gcc-arm-none-eabi-5_4-2016q3/lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu
|
||||
# linux build
|
||||
export TOOLCHAIN=/home/zhangzheng/gcc-arm-none-eabi-5_4-2016q3/bin/
|
||||
export TOOLCHAIN_LIB=/home/zhangzheng/gcc-arm-none-eabi-5_4-2016q3/lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu
|
||||
|
||||
# mac compile
|
||||
export TOOLCHAIN=/Users/zhangzheng/gcc-arm-none-eabi-10.3-2021.10/bin/
|
||||
export TOOLCHAIN_LIB=/Users/zhangzheng/gcc-arm-none-eabi-10.3-2021.10/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard
|
||||
# export TOOLCHAIN=/Users/zhangzheng/gcc-arm-none-eabi-10.3-2021.10/bin/
|
||||
# export TOOLCHAIN_LIB=/Users/zhangzheng/gcc-arm-none-eabi-10.3-2021.10/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard
|
||||
|
||||
# windows compile
|
||||
# export TOOLCHAIN=/d/GNUArmEmbeddedToolchain/102021.10/bin/
|
||||
@@ -14,6 +15,7 @@ export TOOLCHAIN_LIB=/Users/zhangzheng/gcc-arm-none-eabi-10.3-2021.10/lib/gcc/ar
|
||||
# export TOOLCHAIN=/Users/zhangzheng/gcc-arm-none-eabi-10.3-2021.10/bin/
|
||||
# export TOOLCHAIN_LIB=/Users/zhangzheng/gcc-arm-none-eabi-10.3-2021.10/lib/gcc/arm-none-eabi/10.3.1/thumb/v7-m/nofp
|
||||
|
||||
# linux build
|
||||
# export TOOLCHAIN=/home/zhangzheng/gcc-arm-none-eabi-10.3-2021.10/bin/
|
||||
# export TOOLCHAIN_LIB=/home/zhangzheng/gcc-arm-none-eabi-10.3-2021.10/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard
|
||||
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
#!/bin/bash
|
||||
|
||||
export TOOLCHAIN=/Users/zhangzheng/gcc-arm-none-eabi-10.3-2021.10/bin/
|
||||
export TOOLCHAIN_LIB=/Users/zhangzheng/gcc-arm-none-eabi-10.3-2021.10/lib/gcc/arm-none-eabi/10.3.1/thumb/v7-m/nofp
|
||||
# export TOOLCHAIN=/Users/zhangzheng/gcc-arm-none-eabi-10.3-2021.10/bin/
|
||||
# export TOOLCHAIN_LIB=/Users/zhangzheng/gcc-arm-none-eabi-10.3-2021.10/lib/gcc/arm-none-eabi/10.3.1/thumb/v7-m/nofp
|
||||
|
||||
# export TOOLCHAIN=/d/GNUArmEmbeddedToolchain/102021.10/bin/
|
||||
# export TOOLCHAIN_LIB=/d/GNUArmEmbeddedToolchain/102021.10/lib/gcc/arm-none-eabi/10.3.1/thumb/v7-m/nofp
|
||||
|
||||
# export TOOLCHAIN=/home/zhangzheng/gcc-arm-none-eabi-5_4-2016q3/bin/
|
||||
# export TOOLCHAIN_LIB=/home/zhangzheng/gcc-arm-none-eabi-5_4-2016q3/lib/gcc/arm-none-eabi/5.4.1/armv7-m/
|
||||
export TOOLCHAIN=/home/zhangzheng/gcc-arm-none-eabi-5_4-2016q3/bin/
|
||||
export TOOLCHAIN_LIB=/home/zhangzheng/gcc-arm-none-eabi-5_4-2016q3/lib/gcc/arm-none-eabi/5.4.1/armv7-m/
|
||||
|
||||
# export TOOLCHAIN=/home/zhangzheng/gcc-arm-none-eabi-10.3-2021.10/bin/
|
||||
# export TOOLCHAIN_LIB=/home/zhangzheng/gcc-arm-none-eabi-10.3-2021.10/lib/gcc/arm-none-eabi/10.3.1/thumb/v7-m/nofp
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -424,7 +424,8 @@ int fastCos(int i)
|
||||
*
|
||||
*/
|
||||
|
||||
const int16_t numVerts1 = 8;
|
||||
// const int16_t numVerts1 = 8;
|
||||
#define numVerts1 8
|
||||
const int16_t verts1[] = {
|
||||
-100, -100, -100, // 0
|
||||
100, -100, -100, // 1
|
||||
@@ -436,7 +437,8 @@ const int16_t verts1[] = {
|
||||
-100, 100, 100, // 7
|
||||
};
|
||||
|
||||
const int16_t numQuads1 = 6;
|
||||
// const int16_t numQuads1 = 6;
|
||||
#define numQuads1 6
|
||||
const int16_t quads1[] = {
|
||||
0, 1, 2, 3, // front
|
||||
7, 6, 5, 4, // back
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
#include "InfoNES.h"
|
||||
#include "InfoNES_System.h"
|
||||
#include "infones_mapper.h"
|
||||
// #include "infones_mapper.h"
|
||||
#include "InfoNES_pAPU.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -22,6 +22,9 @@ target_link_libraries(
|
||||
PUBLIC
|
||||
-Bstatic
|
||||
${LIBC_NAME}
|
||||
mk_drv
|
||||
mk_pin
|
||||
mk_char
|
||||
--whole-archive
|
||||
${START_LIB}
|
||||
libc_be
|
||||
@@ -29,7 +32,6 @@ target_link_libraries(
|
||||
sys_util
|
||||
sys_svr
|
||||
--no-whole-archive
|
||||
fdt
|
||||
${GCC_LIB_PATH}/libgcc.a
|
||||
)
|
||||
target_include_directories(
|
||||
@@ -46,13 +48,17 @@ target_include_directories(
|
||||
${CMAKE_SOURCE_DIR}/mkrtos_bsp/AT32/AT32F435_437_Firmware_Library_V2.2.0/middlewares/i2c_application_library
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/
|
||||
|
||||
${CMAKE_SOURCE_DIR}/mkrtos_user/lib/libfdt/lib/contrib
|
||||
|
||||
${CMAKE_SOURCE_DIR}/mkrtos_user/user/drv/lib/mk_pin
|
||||
)
|
||||
add_dependencies(
|
||||
pin.elf
|
||||
${START_LIB}
|
||||
sys
|
||||
sys_util
|
||||
mk_char
|
||||
mk_drv
|
||||
mk_pin
|
||||
)
|
||||
set_target_properties(
|
||||
pin.elf PROPERTIES LINK_FLAGS
|
||||
|
||||
@@ -118,9 +118,9 @@ int fs_svr_open(const char *path, int flags, int mode)
|
||||
printf("[pin] not dev %s.\n", path);
|
||||
return -ENODEV;
|
||||
}
|
||||
if (char_dev->ops->mk_pin_drv_open)
|
||||
if (char_dev->ops->open)
|
||||
{
|
||||
ret = char_dev->ops->mk_pin_drv_open(char_dev->dev);
|
||||
ret = char_dev->ops->open(char_dev->dev);
|
||||
}
|
||||
if (ret < 0)
|
||||
{
|
||||
@@ -132,9 +132,9 @@ int fs_svr_open(const char *path, int flags, int mode)
|
||||
if (!fdp)
|
||||
{
|
||||
printf("[pin] not fd %s.\n", path);
|
||||
if (char_dev->ops->mk_pin_drv_release)
|
||||
if (char_dev->ops->release)
|
||||
{
|
||||
char_dev->ops->mk_pin_drv_release(char_dev->dev);
|
||||
char_dev->ops->release(char_dev->dev);
|
||||
}
|
||||
return -ENOMEM;
|
||||
}
|
||||
@@ -169,16 +169,19 @@ int fs_svr_read(int fd, void *buf, size_t len)
|
||||
mk_char_dev_t *char_dev;
|
||||
|
||||
char_dev = fdp->ptr_dev;
|
||||
if (!char_dev->ops->mk_pin_drv_ioctl)
|
||||
if (!char_dev->ops->ioctl)
|
||||
{
|
||||
return -EACCES;
|
||||
}
|
||||
char_dev->ops->mk_pin_drv_ioctl(char_dev->dev, MK_PIN_SET_OP_PIN, fdp->offset);
|
||||
if (!char_dev->ops->mk_pin_drv_read)
|
||||
ret = char_dev->ops->ioctl(char_dev->dev, MK_PIN_SET_OP_PIN, fdp->offset);
|
||||
if (ret < 0) {
|
||||
return ret;
|
||||
}
|
||||
if (!char_dev->ops->read)
|
||||
{
|
||||
return -EACCES;
|
||||
}
|
||||
ret = char_dev->ops->mk_pin_drv_read(char_dev->dev, buf, len);
|
||||
ret = char_dev->ops->read(char_dev->dev, buf, len);
|
||||
if (ret > 0)
|
||||
{
|
||||
fdp->offset += ret;
|
||||
@@ -201,16 +204,16 @@ int fs_svr_write(int fd, void *buf, size_t len)
|
||||
mk_char_dev_t *char_dev;
|
||||
|
||||
char_dev = fdp->ptr_dev;
|
||||
if (!char_dev->ops->mk_pin_drv_ioctl)
|
||||
if (!char_dev->ops->ioctl)
|
||||
{
|
||||
return -EACCES;
|
||||
}
|
||||
char_dev->ops->mk_pin_drv_ioctl(char_dev->dev, MK_PIN_SET_OP_PIN, fdp->offset);
|
||||
if (!char_dev->ops->mk_pin_drv_write)
|
||||
char_dev->ops->ioctl(char_dev->dev, MK_PIN_SET_OP_PIN, fdp->offset);
|
||||
if (!char_dev->ops->write)
|
||||
{
|
||||
return -EACCES;
|
||||
}
|
||||
ret = char_dev->ops->mk_pin_drv_write(char_dev->dev, buf, len);
|
||||
ret = char_dev->ops->write(char_dev->dev, buf, len);
|
||||
if (ret > 0)
|
||||
{
|
||||
fdp->offset += ret;
|
||||
@@ -231,9 +234,9 @@ void fs_svr_close(int fd)
|
||||
mk_char_dev_t *char_dev;
|
||||
|
||||
char_dev = fdp->ptr_dev;
|
||||
if (char_dev->ops->mk_pin_drv_release)
|
||||
if (char_dev->ops->release)
|
||||
{
|
||||
char_dev->ops->mk_pin_drv_release(char_dev->dev);
|
||||
char_dev->ops->release(char_dev->dev);
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -346,9 +349,9 @@ int fs_svr_ioctl(int fd, int req, void *arg)
|
||||
}
|
||||
mk_char_dev_t *char_dev = file->ptr_dev;
|
||||
|
||||
if (char_dev->ops->mk_pin_drv_ioctl)
|
||||
if (char_dev->ops->ioctl)
|
||||
{
|
||||
ret = char_dev->ops->mk_pin_drv_ioctl(char_dev->dev, req, (umword_t)arg);
|
||||
ret = char_dev->ops->ioctl(char_dev->dev, req, (umword_t)arg);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -12,19 +12,19 @@
|
||||
#include "ns_cli.h"
|
||||
#include <assert.h>
|
||||
#include <sys/stat.h>
|
||||
#include "mk_pin_drv_impl.h"
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
obj_handler_t hd;
|
||||
int ret;
|
||||
|
||||
printf("pin init..\n");
|
||||
printf("%s init..\n", argv[0]);
|
||||
#if 1
|
||||
thread_run(-1, 3);
|
||||
#endif
|
||||
mk_drv_init();
|
||||
mk_dev_init();
|
||||
extern void drv_pin_init(void);
|
||||
drv_pin_init();
|
||||
dtb_parse_init();
|
||||
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
|
||||
int dtb_parse_init(void);
|
||||
@@ -8,6 +8,7 @@
|
||||
#include <assert.h>
|
||||
#include "mk_drv.h"
|
||||
#include "mk_pin_drv.h"
|
||||
#include "mk_dtb_parse.h"
|
||||
#include <u_prot.h>
|
||||
#include <u_vmam.h>
|
||||
#include "at32f435_437_gpio.h"
|
||||
@@ -208,51 +209,7 @@ static int pin_write(mk_pin_t *pin, int number, uint8_t value)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int dev_regs_map(mk_dev_t *dev, void *fdt)
|
||||
{
|
||||
const umword_t *reg_raw;
|
||||
int len;
|
||||
msg_tag_t tag;
|
||||
|
||||
reg_raw = fdt_getprop(dev->dtb, dev->dtb_offset,
|
||||
"regs", &len);
|
||||
if (!reg_raw)
|
||||
{
|
||||
return -ENODEV;
|
||||
}
|
||||
if (len < sizeof(void *) * 2)
|
||||
{
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
/*寄存器两个一组*/
|
||||
for (int i = 0; i < len / sizeof(void *); i += 2)
|
||||
{
|
||||
addr_t vaddr;
|
||||
uint32_t reg[2];
|
||||
|
||||
reg[0] = fdt32_to_cpu((fdt32_t)reg_raw[i]);
|
||||
reg[1] = fdt32_to_cpu((fdt32_t)reg_raw[i + 1]);
|
||||
|
||||
printf("reg:0x%x size:0x%x\n", reg[0], reg[1]);
|
||||
tag = u_vmam_alloc(VMA_PROT, vma_addr_create(VPAGE_PROT_RWX, 0, 0),
|
||||
reg[1], reg[0], &vaddr);
|
||||
if (msg_tag_get_val(tag) < 0)
|
||||
{
|
||||
if (i == 0)
|
||||
{
|
||||
printf("periph mem alloc failed..\n");
|
||||
return msg_tag_get_val(tag);
|
||||
}
|
||||
else
|
||||
{
|
||||
printf("periph mem alloc failed. success:%d\n", i / 2);
|
||||
return i / 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
static mk_pin_ops_t pin_ops = {
|
||||
.drv_pin_configure = pin_configure,
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
#pragma once
|
||||
|
||||
|
||||
void drv_pin_init(void);
|
||||
|
||||
@@ -3,5 +3,5 @@ cmake_minimum_required(VERSION 3.13)
|
||||
# if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${CONFIG_BOARD_NAME})
|
||||
# add_subdirectory(${CONFIG_BOARD_NAME})
|
||||
# endif()
|
||||
|
||||
add_subdirectory(ATSURFF437)
|
||||
add_subdirectory(lib)
|
||||
|
||||
5
mkrtos_user/user/drv/lib/CMakeLists.txt
Normal file
5
mkrtos_user/user/drv/lib/CMakeLists.txt
Normal file
@@ -0,0 +1,5 @@
|
||||
cmake_minimum_required(VERSION 3.13)
|
||||
|
||||
add_subdirectory(mk_drv)
|
||||
add_subdirectory(mk_pin)
|
||||
add_subdirectory(mk_char)
|
||||
27
mkrtos_user/user/drv/lib/mk_char/CMakeLists.txt
Normal file
27
mkrtos_user/user/drv/lib/mk_char/CMakeLists.txt
Normal file
@@ -0,0 +1,27 @@
|
||||
cmake_minimum_required(VERSION 3.13)
|
||||
|
||||
|
||||
file(GLOB_RECURSE deps *.c *.S)
|
||||
add_library(
|
||||
mk_char
|
||||
STATIC
|
||||
${deps}
|
||||
)
|
||||
add_dependencies(
|
||||
mk_char
|
||||
fdt
|
||||
sys
|
||||
sys_util
|
||||
sys_svr
|
||||
)
|
||||
target_include_directories(
|
||||
mk_char
|
||||
PUBLIC
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../mk_drv
|
||||
${CMAKE_SOURCE_DIR}/mkrtos_user/lib/sys/inc
|
||||
${CMAKE_SOURCE_DIR}/mkrtos_user/lib/sys/inc/${ARCH_NAME}
|
||||
${CMAKE_SOURCE_DIR}/mkrtos_user/lib/sys_svr/inc
|
||||
${CMAKE_SOURCE_DIR}/mkrtos_user/lib/util/inc
|
||||
${CMAKE_SOURCE_DIR}/mkrtos_user/lib/libfdt/lib/contrib
|
||||
)
|
||||
@@ -6,11 +6,11 @@
|
||||
|
||||
typedef struct mk_file_ops
|
||||
{
|
||||
int (*mk_pin_drv_open)(mk_dev_t *dev);
|
||||
int (*mk_pin_drv_write)(mk_dev_t *dev, void *buf, size_t size);
|
||||
int (*mk_pin_drv_read)(mk_dev_t *dev, void *buf, size_t size);
|
||||
int (*mk_pin_drv_ioctl)(mk_dev_t *dev, int cmd, umword_t args);
|
||||
int (*mk_pin_drv_release)(mk_dev_t *dev);
|
||||
int (*open)(mk_dev_t *dev);
|
||||
int (*write)(mk_dev_t *dev, void *buf, size_t size);
|
||||
int (*read)(mk_dev_t *dev, void *buf, size_t size);
|
||||
int (*ioctl)(mk_dev_t *dev, int cmd, umword_t args);
|
||||
int (*release)(mk_dev_t *dev);
|
||||
} mk_file_ops_t;
|
||||
|
||||
typedef struct mk_char_dev
|
||||
35
mkrtos_user/user/drv/lib/mk_drv/CMakeLists.txt
Normal file
35
mkrtos_user/user/drv/lib/mk_drv/CMakeLists.txt
Normal file
@@ -0,0 +1,35 @@
|
||||
cmake_minimum_required(VERSION 3.13)
|
||||
|
||||
|
||||
file(GLOB_RECURSE deps *.c *.S)
|
||||
add_library(
|
||||
mk_drv
|
||||
STATIC
|
||||
${deps}
|
||||
)
|
||||
target_link_libraries(
|
||||
mk_drv
|
||||
PRIVATE
|
||||
fdt
|
||||
sys
|
||||
sys_util
|
||||
sys_svr
|
||||
)
|
||||
add_dependencies(
|
||||
mk_drv
|
||||
fdt
|
||||
sys
|
||||
sys_util
|
||||
sys_svr
|
||||
)
|
||||
target_include_directories(
|
||||
mk_drv
|
||||
PUBLIC
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/
|
||||
${CMAKE_SOURCE_DIR}/mkrtos_user/user/drv/lib/mk_char
|
||||
${CMAKE_SOURCE_DIR}/mkrtos_user/lib/sys/inc
|
||||
${CMAKE_SOURCE_DIR}/mkrtos_user/lib/sys/inc/${ARCH_NAME}
|
||||
${CMAKE_SOURCE_DIR}/mkrtos_user/lib/sys_svr/inc
|
||||
${CMAKE_SOURCE_DIR}/mkrtos_user/lib/util/inc
|
||||
${CMAKE_SOURCE_DIR}/mkrtos_user/lib/libfdt/lib/contrib
|
||||
)
|
||||
@@ -8,6 +8,7 @@
|
||||
#include <mk_dev.h>
|
||||
#include <mk_drv.h>
|
||||
#include <stdio.h>
|
||||
#include <u_vmam.h>
|
||||
typedef struct hook_mach_info
|
||||
{
|
||||
int node_offset;
|
||||
@@ -37,7 +38,51 @@ static int dd_hook_mach(mk_drv_t *drv, const char *dev_name, void *data)
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
int dev_regs_map(mk_dev_t *dev, void *fdt)
|
||||
{
|
||||
const umword_t *reg_raw;
|
||||
int len;
|
||||
msg_tag_t tag;
|
||||
|
||||
reg_raw = fdt_getprop(dev->dtb, dev->dtb_offset,
|
||||
"regs", &len);
|
||||
if (!reg_raw)
|
||||
{
|
||||
return -ENODEV;
|
||||
}
|
||||
if (len < sizeof(void *) * 2)
|
||||
{
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
/*寄存器两个一组*/
|
||||
for (int i = 0; i < len / sizeof(void *); i += 2)
|
||||
{
|
||||
addr_t vaddr;
|
||||
uint32_t reg[2];
|
||||
|
||||
reg[0] = fdt32_to_cpu((fdt32_t)reg_raw[i]);
|
||||
reg[1] = fdt32_to_cpu((fdt32_t)reg_raw[i + 1]);
|
||||
|
||||
printf("reg:0x%x size:0x%x\n", reg[0], reg[1]);
|
||||
tag = u_vmam_alloc(VMA_PROT, vma_addr_create(VPAGE_PROT_RWX, 0, 0),
|
||||
reg[1], reg[0], &vaddr);
|
||||
if (msg_tag_get_val(tag) < 0)
|
||||
{
|
||||
if (i == 0)
|
||||
{
|
||||
printf("periph mem alloc failed..\n");
|
||||
return msg_tag_get_val(tag);
|
||||
}
|
||||
else
|
||||
{
|
||||
printf("periph mem alloc failed. success:%d\n", i / 2);
|
||||
return i / 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
int dtb_parse_init(void)
|
||||
{
|
||||
printf("init dts parsing.\n");
|
||||
6
mkrtos_user/user/drv/lib/mk_drv/mk_dtb_parse.h
Normal file
6
mkrtos_user/user/drv/lib/mk_drv/mk_dtb_parse.h
Normal file
@@ -0,0 +1,6 @@
|
||||
#pragma once
|
||||
|
||||
#include "mk_dev.h"
|
||||
|
||||
int dev_regs_map(mk_dev_t *dev, void *fdt);
|
||||
int dtb_parse_init(void);
|
||||
38
mkrtos_user/user/drv/lib/mk_pin/CMakeLists.txt
Normal file
38
mkrtos_user/user/drv/lib/mk_pin/CMakeLists.txt
Normal file
@@ -0,0 +1,38 @@
|
||||
cmake_minimum_required(VERSION 3.13)
|
||||
|
||||
|
||||
file(GLOB_RECURSE deps *.c *.S)
|
||||
add_library(
|
||||
mk_pin
|
||||
STATIC
|
||||
${deps}
|
||||
)
|
||||
target_link_libraries(
|
||||
mk_pin
|
||||
PRIVATE
|
||||
fdt
|
||||
sys
|
||||
sys_util
|
||||
sys_svr
|
||||
mk_drv
|
||||
)
|
||||
add_dependencies(
|
||||
mk_pin
|
||||
fdt
|
||||
sys
|
||||
sys_util
|
||||
sys_svr
|
||||
mk_drv
|
||||
)
|
||||
target_include_directories(
|
||||
mk_pin
|
||||
PUBLIC
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../mk_drv
|
||||
${CMAKE_SOURCE_DIR}/mkrtos_user/user/drv/lib/mk_char
|
||||
${CMAKE_SOURCE_DIR}/mkrtos_user/lib/sys/inc
|
||||
${CMAKE_SOURCE_DIR}/mkrtos_user/lib/sys/inc/${ARCH_NAME}
|
||||
${CMAKE_SOURCE_DIR}/mkrtos_user/lib/sys_svr/inc
|
||||
${CMAKE_SOURCE_DIR}/mkrtos_user/lib/util/inc
|
||||
${CMAKE_SOURCE_DIR}/mkrtos_user/lib/libfdt/lib/contrib
|
||||
)
|
||||
@@ -141,11 +141,11 @@ static int mk_pin_drv_ioctl(mk_dev_t *pin, int cmd, umword_t args)
|
||||
return 0;
|
||||
}
|
||||
static mk_file_ops_t file_ops = {
|
||||
.mk_pin_drv_open = NULL,
|
||||
.mk_pin_drv_write = mk_pin_drv_write,
|
||||
.mk_pin_drv_read = mk_pin_drv_read,
|
||||
.mk_pin_drv_ioctl = mk_pin_drv_ioctl,
|
||||
.mk_pin_drv_release = NULL,
|
||||
.open = NULL,
|
||||
.write = mk_pin_drv_write,
|
||||
.read = mk_pin_drv_read,
|
||||
.ioctl = mk_pin_drv_ioctl,
|
||||
.release = NULL,
|
||||
};
|
||||
|
||||
int mk_pin_register(mk_dev_t *dev, mk_pin_dev_t *pin_drv)
|
||||
@@ -3,6 +3,7 @@
|
||||
#include <u_types.h>
|
||||
#include "mk_drv.h"
|
||||
#include "mk_dev.h"
|
||||
|
||||
#define MK_PIN_MAX_NUM (16 * 8)
|
||||
|
||||
typedef struct mk_pin
|
||||
Reference in New Issue
Block a user