我正在开发一个带有DSP和ARM的系统.在ARM上有一个Linux操作系统.我有一个DSP向ARM(Linux)发送数据 - 在Linux中有一个内核模块,它读取从DSP接收的数据.内核模块正在唤醒以使用DSP与ARM之间的硬件中断来读取数据.
我想编写一个用户空间应用程序,每次有来自DSP的新数据时,它将从内核空间(内核模块)读取数据.
问题是:
有什么方法可以做到这一点,从内核到用户空间的软件中断,或者每隔10ms从用户空间轮询(用内核读取已知的内存地址).
知道:
我有一个在嵌入式Linux上运行的应用程序.我有一个带有一些表的预构建DB,每个表都有很多行(数千)和52列.我提前构建了数据库,因为我担心如果我在运行时执行'INSERT',我将进行磁盘碎片,所以我首先使用大量垃圾'INSERT'并在运行时构建数据库我使用'更新'.
我每隔3秒就向DB写入大量数据.为了使写入过程快速,我在SQLite中使用WAL模式.虽然,我有性能问题.似乎每当检查点发生时,它需要太长时间,处理器不能在不到3秒的时间内完成.为了改善这一点,我创建了一个线程,在10次写入调用之后,它从主线程接收消息队列,而不是检查点.
所以现在,似乎情况更好但是WAL文件变得越来越大......我怎么能在这里工作?
我有两个活动A和B.活动A调用活动B,当按下"返回"时,活动A将返回,这很好.问题是,当我从A转到B,然后我退出应用程序时,当我返回时我会看到活动B,但是这一次,按"返回"将再次退出应用程序.所以我的问题是 - 如何克服这个问题,所以当我回到活动B的应用程序时,按"返回"将返回活动A?