From d1bb7c61f4d46d07ae0ce4735c857b742974cafb Mon Sep 17 00:00:00 2001 From: 勤为本 <1207280597@qq.com> Date: Thu, 20 Jul 2017 17:05:59 +0800 Subject: 将支持的中断个数从32个扩展到160个,至此可以支持所有中断 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bsp/ls1cdev/libraries/ls1c_public.c | 38 +++++++++++++++++++++++++++++++++++++ bsp/ls1cdev/libraries/ls1c_public.h | 6 ++++++ bsp/ls1cdev/rtconfig.py | 3 ++- 3 files changed, 46 insertions(+), 1 deletion(-) (limited to 'bsp/ls1cdev') diff --git a/bsp/ls1cdev/libraries/ls1c_public.c b/bsp/ls1cdev/libraries/ls1c_public.c index 652fd2e219..84518f0bd0 100644 --- a/bsp/ls1cdev/libraries/ls1c_public.c +++ b/bsp/ls1cdev/libraries/ls1c_public.c @@ -77,3 +77,41 @@ unsigned int reg_read_32(volatile unsigned int *addr) +/** + * ffs - find first bit set + * @x: the word to search + * + * This is defined the same way as + * the libc and compiler builtin ffs routines, therefore + * differs in spirit from the above ffz (man ffs). + */ +int ls1c_ffs(int x) +{ + int r = 1; + + if (!x) + return 0; + if (!(x & 0xffff)) { + x >>= 16; + r += 16; + } + if (!(x & 0xff)) { + x >>= 8; + r += 8; + } + if (!(x & 0xf)) { + x >>= 4; + r += 4; + } + if (!(x & 3)) { + x >>= 2; + r += 2; + } + if (!(x & 1)) { + x >>= 1; + r += 1; + } + return r; +} + + diff --git a/bsp/ls1cdev/libraries/ls1c_public.h b/bsp/ls1cdev/libraries/ls1c_public.h index d3b410c421..3ecabeafaa 100644 --- a/bsp/ls1cdev/libraries/ls1c_public.h +++ b/bsp/ls1cdev/libraries/ls1c_public.h @@ -73,6 +73,12 @@ void reg_write_32(unsigned int data, volatile unsigned int *addr); unsigned int reg_read_32(volatile unsigned int *addr); +/** + * ffs - find first bit set + * @x: the word to search + */ +int ls1c_ffs(int x); + #endif diff --git a/bsp/ls1cdev/rtconfig.py b/bsp/ls1cdev/rtconfig.py index e4eb2f962a..c8da0ea477 100644 --- a/bsp/ls1cdev/rtconfig.py +++ b/bsp/ls1cdev/rtconfig.py @@ -12,7 +12,8 @@ if os.getenv('RTT_CC'): if CROSS_TOOL == 'gcc': PLATFORM = 'gcc' - EXEC_PATH = '/opt/opt/gcc-4.3-ls232/bin' +# EXEC_PATH = '/opt/opt/gcc-4.3-ls232/bin' + EXEC_PATH = r'D:\mgc\embedded\codebench\bin' else: print '================ERROR===========================' print 'Not support %s yet!' % CROSS_TOOL -- cgit v1.3.1