summaryrefslogtreecommitdiff
path: root/bsp
diff options
context:
space:
mode:
author勤为本 <[email protected]>2017-07-20 17:05:59 +0800
committer勤为本 <[email protected]>2017-07-20 17:05:59 +0800
commitd1bb7c61f4d46d07ae0ce4735c857b742974cafb (patch)
tree45cca6b7b7311d5be2f1e408eb8b734e63d37c2c /bsp
parentf39164203e4d1e19b628b43878592ff905907ae2 (diff)
将支持的中断个数从32个扩展到160个,至此可以支持所有中断
Diffstat (limited to 'bsp')
-rw-r--r--bsp/ls1cdev/libraries/ls1c_public.c38
-rw-r--r--bsp/ls1cdev/libraries/ls1c_public.h6
-rw-r--r--bsp/ls1cdev/rtconfig.py3
3 files changed, 46 insertions, 1 deletions
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